From: "Iván Ezequiel Rodriguez" <ivanrwcm25@gmail.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org,
"Iván Ezequiel Rodriguez" <ivanrwcm25@gmail.com>
Subject: [PATCH 0/2] Input: fix two kernel stack disclosures via ioctl
Date: Tue, 1 Sep 2026 10:06:26 -0300 [thread overview]
Message-ID: <20260901130629.24078-1-ivanrwcm25@gmail.com> (raw)
Two places in the input layer copy a user supplied, possibly short
buffer into an uninitialized on-stack structure and then keep the whole
structure, including the part that was never written. In both cases the
stale stack bytes can be read back from userspace.
Patch 1: EVIOCSABS copies min(_IOC_SIZE(cmd), sizeof(struct
input_absinfo)) bytes into an uninitialized struct and stores the result
in dev->absinfo[]. EVIOCGABS returns it. Only the resolution field is
currently cleared for short sizes.
Patch 2: the compat path of input_ff_effect_from_user() aliases the
native struct ff_effect with the smaller struct ff_effect_compat and
copies only the compat sized prefix, leaving the tail untouched.
input_ff_upload() stores the full structure, which a uinput based force
feedback daemon can read back via UI_BEGIN_FF_UPLOAD.
Both are fixed by zeroing the structure before the copy. The patches are
independent of each other.
Compile tested on x86_64 with CONFIG_INPUT_EVDEV, CONFIG_INPUT_UINPUT
and CONFIG_IA32_EMULATION enabled.
Iván Ezequiel Rodriguez (2):
Input: evdev: zero absinfo before partial copy in EVIOCSABS
Input: zero ff_effect before compat copy in input_ff_effect_from_user
drivers/input/evdev.c | 2 ++
drivers/input/input-compat.c | 2 ++
2 files changed, 4 insertions(+)
--
2.43.0
next reply other threads:[~2026-09-01 13:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-01 13:06 Iván Ezequiel Rodriguez [this message]
2026-09-01 13:06 ` [PATCH 1/2] Input: evdev: zero absinfo before partial copy in EVIOCSABS Iván Ezequiel Rodriguez
2026-09-01 13:06 ` [PATCH 2/2] Input: zero ff_effect before compat copy in input_ff_effect_from_user Iván Ezequiel Rodriguez
2026-09-01 14:38 ` [PATCH 0/2] Input: fix two kernel stack disclosures via ioctl Dmitry Torokhov
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=20260901130629.24078-1-ivanrwcm25@gmail.com \
--to=ivanrwcm25@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@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.