CVEvulnerability
CVE-2026-98201
- Status
- Received
- Published
- 2026-10-06
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
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.
References
- https://git.kernel.org/stable/c/0d05b43b55d4784a42ce8fb318175f8ad7d9af5a git.kernel.org
- https://git.kernel.org/stable/c/6c26681c5668c973bd0e951407d670ac60d9cd66 git.kernel.org
- https://git.kernel.org/stable/c/b878720e8bcaa4cf7163a5081f904dd6baf11b2c git.kernel.org
- https://git.kernel.org/stable/c/c5e573bb095d502be7cbbaa99c26a20984111c6d git.kernel.org
- https://git.kernel.org/stable/c/ec174c2ab1abb76b20fa167c6db848c3d97aa838 git.kernel.org
- https://git.kernel.org/stable/c/ed0406e490f48ed180df140fe2a81be26bccb1a9 git.kernel.org
- https://git.kernel.org/stable/c/ed0905fda39682d3da7937184397d3276abbffa8 git.kernel.org
- https://git.kernel.org/stable/c/f84819ef8d66931ee3998fee3c4f03230f4cb6cc git.kernel.org