Description
In the Linux kernel, the following vulnerability has been resolved: HID: nintendo: register input device after capabilities are set input_register_device() exposes the device to userspace immediately. In joycon_input_create() it was called before joycon_config_rumble() configures the FF_RUMBLE capability and the memless force-feedback device, so a concurrent EVIOCSFF could dereference a NULL dev->ff. Registering early also means the initial udev event lacks button and axis information, which can make input managers ignore the device. Move input_register_device() to the end of joycon_input_create(), after all capabilities, the IMU input device and the force-feedback callbacks have been configured.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
2af16c1f846bd60240745bbd3afa13d5f040c61a to < a2a46a705c1fa724aac158fd188273dd7ee8c171affected2af16c1f846bd60240745bbd3afa13d5f040c61a to < 3288bec1a21d582b504344380139cdc0e88ebe4daffected2af16c1f846bd60240745bbd3afa13d5f040c61a to < 268679f501386ad46405d42c2bcf89384cb5e256affected2af16c1f846bd60240745bbd3afa13d5f040c61a to < a9fc7547f911ada09da33c5e204e5acda38e765aaffected2af16c1f846bd60240745bbd3afa13d5f040c61a to < 27dc4b8eadac73b3c3cc526c8547d8b4ae8528beaffected2af16c1f846bd60240745bbd3afa13d5f040c61a to < d723bc1fe2e72b9252234e94c11af644ec477bf7affected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected6.1.191 to ≤ 6.1.*unaffected6.12.106 to ≤ 6.12.*unaffected6.18.47 to ≤ 6.18.*unaffected7.1.11 to ≤ 7.1.*unaffected7.2.1 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/a2a46a705c1fa724aac158fd188273dd7ee8c171 ↗
- https://git.kernel.org/stable/c/3288bec1a21d582b504344380139cdc0e88ebe4d ↗
- https://git.kernel.org/stable/c/268679f501386ad46405d42c2bcf89384cb5e256 ↗
- https://git.kernel.org/stable/c/a9fc7547f911ada09da33c5e204e5acda38e765a ↗
- https://git.kernel.org/stable/c/27dc4b8eadac73b3c3cc526c8547d8b4ae8528be ↗
- https://git.kernel.org/stable/c/d723bc1fe2e72b9252234e94c11af644ec477bf7 ↗