Description
In the Linux kernel, the following vulnerability has been resolved: Input: cros_ec_keyb - fix an invalid memory access If cros_ec_keyb_register_matrix() isn't called (due to `buttons_switches_only`) in cros_ec_keyb_probe(), `ckdev->idev` remains NULL. An invalid memory access is observed in cros_ec_keyb_process() when receiving an EC_MKBP_EVENT_KEY_MATRIX event in cros_ec_keyb_work() in such case. Unable to handle kernel read from unreadable memory at virtual address 0000000000000028 ... x3 : 0000000000000000 x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000 Call trace: input_event cros_ec_keyb_work blocking_notifier_call_chain ec_irq_thread It's still unknown about why the kernel receives such malformed event, in any cases, the kernel shouldn't access `ckdev->idev` and friends if the driver doesn't intend to initialize them.
Product status
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 7bfd959187f2c7584bb43280bbc7b2846e7a5085
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 9cf59f4724a9ee06ebb06c76b8678ac322e850b7
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 6d81068685154535af06163eb585d6d9663ec7ec
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 2d251c15c27e2dd16d6318425d2f7260cbd47d39
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before e08969c4d65ac31297fcb4d31d4808c789152f68
5.4.302 (semver)
6.6.118 (semver)
6.12.60 (semver)
6.17.10 (semver)
6.18 (original_commit_for_fix)
References
git.kernel.org/...c/7bfd959187f2c7584bb43280bbc7b2846e7a5085
git.kernel.org/...c/9cf59f4724a9ee06ebb06c76b8678ac322e850b7
git.kernel.org/...c/6d81068685154535af06163eb585d6d9663ec7ec
git.kernel.org/...c/2d251c15c27e2dd16d6318425d2f7260cbd47d39
git.kernel.org/...c/e08969c4d65ac31297fcb4d31d4808c789152f68