Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: Input: zero ff_effect before compat copy in input_ff_effect_from_user In the compat path input_ff_effect_from_user() aliases the caller's native struct ff_effect with the smaller struct ff_effect_compat and copies only the compat sized prefix: compat_effect = (struct ff_effect_compat *)effect; if (copy_from_user(compat_effect, buffer, sizeof(struct ff_effect_compat))) The tail of the native structure is never written. Callers pass an uninitialized on-stack object, for example evdev_do_ioctl() for EVIOCSFF, so those bytes keep their previous stack contents. input_ff_upload() then stores the full native structure in ff->effects[id], from where a uinput based force feedback daemon can read it back via UI_BEGIN_FF_UPLOAD, disclosing kernel stack memory to userspace. Zero the effect before the compat copy.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 2d56f3a32c0e62f99c043d2579840f9731fe5855 before ed0905fda39682d3da7937184397d3276abbffa8; affected 2d56f3a32c0e62f99c043d2579840f9731fe5855 before ec174c2ab1abb76b20fa167c6db848c3d97aa838; affected 2d56f3a32c0e62f99c043d2579840f9731fe5855 before 6c26681c5668c973bd0e951407d670ac60d9cd66; affected 2d56f3a32c0e62f99c043d2579840f9731fe5855 before c5e573bb095d502be7cbbaa99c26a20984111c6d; affected 2d56f3a32c0e62f99c043d2579840f9731fe5855 before b878720e8bcaa4cf7163a5081f904dd6baf11b2c; affected 2d56f3a32c0e62f99c043d2579840f9731fe5855 before 0d05b43b55d4784a42ce8fb318175f8ad7d9af5a; affected 2d56f3a32c0e62f99c043d2579840f9731fe5855 before ed0406e490f48ed180df140fe2a81be26bccb1a9; affected 2d56f3a32c0e62f99c043d2579840f9731fe5855 before f84819ef8d66931ee3998fee3c4f03230f4cb6cc |
| Linux / Linux | affected 2.6.29; unaffected 0 before 2.6.29; unaffected 5.10.271 through 5.10.*; unaffected 5.15.222 through 5.15.*; unaffected 6.1.189 through 6.1.*; unaffected 6.6.158 through 6.6.*; unaffected 6.12.112 through 6.12.*; unaffected 6.18.54 through 6.18.*; unaffected 7.2.8 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/ed0905fda39682d3da7937184397d3276abbffa8
- https://git.kernel.org/stable/c/ec174c2ab1abb76b20fa167c6db848c3d97aa838
- https://git.kernel.org/stable/c/6c26681c5668c973bd0e951407d670ac60d9cd66
- https://git.kernel.org/stable/c/c5e573bb095d502be7cbbaa99c26a20984111c6d
- https://git.kernel.org/stable/c/b878720e8bcaa4cf7163a5081f904dd6baf11b2c
- https://git.kernel.org/stable/c/0d05b43b55d4784a42ce8fb318175f8ad7d9af5a
- https://git.kernel.org/stable/c/ed0406e490f48ed180df140fe2a81be26bccb1a9
- https://git.kernel.org/stable/c/f84819ef8d66931ee3998fee3c4f03230f4cb6cc