Bug 2546369 (CVE-2026-98205) - CVE-2026-98205 kernel: Input: evdev - zero absinfo before partial copy in EVIOCSABS
Summary: CVE-2026-98205 kernel: Input: evdev - zero absinfo before partial copy in EVI...
Keywords:
Status: NEW
Alias: CVE-2026-98205
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-10-06 09:07 UTC by OSIDB Bzimport
Modified: 2026-10-09 08:34 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-10-06 09:07:35 UTC
In the Linux kernel, the following vulnerability has been resolved:

Input: evdev - zero absinfo before partial copy in EVIOCSABS

The EVIOCSABS handler copies at most the user supplied ioctl size into
an uninitialized on-stack struct input_absinfo:

	if (copy_from_user(&abs, p, min_t(size_t,
			size, sizeof(struct input_absinfo))))

The size comes from _IOC_SIZE() of the ioctl command and is therefore
fully controlled by userspace. A short size leaves the trailing part of
the structure holding whatever was on the kernel stack, and the whole
structure is then stored into the device:

	dev->absinfo[t] = abs;

EVIOCGABS hands that back to userspace, disclosing the stale stack
bytes. Only the resolution field is currently cleared, which covers the
legacy struct layout but not an arbitrarily short size.

Zero the structure before the copy so any part not supplied by the
caller reads back as zero. The existing resolution fixup is kept, since
it also handles a size that partially overlaps that field.


Note You need to log in before you can comment on or make changes to this bug.