All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-cve-announce@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@kernel.org>
Subject: CVE-2026-98205: Input: evdev - zero absinfo before partial copy in EVIOCSABS
Date: Tue,  6 Oct 2026 10:45:06 +0200	[thread overview]
Message-ID: <2026100637-CVE-2026-98205-e2ea@gregkh> (raw)

From: Greg Kroah-Hartman <gregkh@kernel.org>

Description
===========

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.

The Linux kernel CVE team has assigned CVE-2026-98205 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 2.6.36 with commit 448cd1664a573e69f54bfd32f3bb7220212b6cf5 and fixed in 5.10.271 with commit c0aebb57b73c7d06ad21731099afe119b113c403
	Issue introduced in 2.6.36 with commit 448cd1664a573e69f54bfd32f3bb7220212b6cf5 and fixed in 5.15.222 with commit 89b6ffa4bc10c436fa9aecc73be105124cd58a35
	Issue introduced in 2.6.36 with commit 448cd1664a573e69f54bfd32f3bb7220212b6cf5 and fixed in 6.1.189 with commit e834e134a32b6a5c600fa539bb49146f617743ab
	Issue introduced in 2.6.36 with commit 448cd1664a573e69f54bfd32f3bb7220212b6cf5 and fixed in 6.6.158 with commit af5f7130cbf39e6e12336d0b7a5f6e76e4e1526b
	Issue introduced in 2.6.36 with commit 448cd1664a573e69f54bfd32f3bb7220212b6cf5 and fixed in 6.12.112 with commit 30b853a3d71f16bd0aa66b604bc37dd1254a19b3
	Issue introduced in 2.6.36 with commit 448cd1664a573e69f54bfd32f3bb7220212b6cf5 and fixed in 6.18.54 with commit 71e5619db11dd6429101bd967230d0321ec5ea26
	Issue introduced in 2.6.36 with commit 448cd1664a573e69f54bfd32f3bb7220212b6cf5 and fixed in 7.2.8 with commit 3dfe48d5307a1ba22c58231d04257737015569ca
	Issue introduced in 2.6.36 with commit 448cd1664a573e69f54bfd32f3bb7220212b6cf5 and fixed in 7.3-rc4 with commit 8b852965b8eaf910c314dc346967ed82c8d4f235

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-98205
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/input/evdev.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/c0aebb57b73c7d06ad21731099afe119b113c403
	https://git.kernel.org/stable/c/89b6ffa4bc10c436fa9aecc73be105124cd58a35
	https://git.kernel.org/stable/c/e834e134a32b6a5c600fa539bb49146f617743ab
	https://git.kernel.org/stable/c/af5f7130cbf39e6e12336d0b7a5f6e76e4e1526b
	https://git.kernel.org/stable/c/30b853a3d71f16bd0aa66b604bc37dd1254a19b3
	https://git.kernel.org/stable/c/71e5619db11dd6429101bd967230d0321ec5ea26
	https://git.kernel.org/stable/c/3dfe48d5307a1ba22c58231d04257737015569ca
	https://git.kernel.org/stable/c/8b852965b8eaf910c314dc346967ed82c8d4f235

                 reply	other threads:[~2026-10-06  8:47 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2026100637-CVE-2026-98205-e2ea@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=cve@kernel.org \
    --cc=gregkh@kernel.org \
    --cc=linux-cve-announce@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.