CVE-2026-80559: Add CVSS 3.1 score (7.8 HIGH)
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AV:L - Exploitation is via open() on /dev/input/eventX (evdev ->
input_open_device -> sur40_open -> sur40_poll ->
sur40_process_video) racing sur40_probe() before vb2_queue_init();
on permanently installed PixelSense/SUR40 kiosk tables no physical
USB access is needed at attack time.
AC:L - The attacker controls both sides of the race by monitoring
udev/inotify for the new input node and immediately opening it
during USB hotplug or reboot probe; polling starts synchronously in
input_dev_poller_start, making the uninitialized vb2_queue access
reliably triggerable without uncontrollable kernel preconditions.
PR:L - Triggering sur40_open requires only local userspace access to the
evdev node (typically membership in the input group or equivalent
kiosk-app privileges opening /dev/input/event*), not real root in
the init namespace; user namespaces cannot substitute for this
device access.
UI:N - No victim interaction is required beyond the attacker's own
actions; they can open the input device themselves (or rely on an
auto-opening compositor during reconnect) and time the race during
probe without needing another user to touch the screen or perform
any action.
S:U - Impact is confined to kernel memory corruption and crashes within
the host input/USB driver context on the same system; it does not
cross VM, container, or IOMMU security boundaries despite potential
local privilege escalation as a follow-on.
C:H - Concurrent access to a partially initialized vb2_queue is a kernel
data race that can read uninitialized queue state, and the probe
error path calls input_free_device() on a registered device,
corrupting input-core linked lists—both are memory-corruption
primitives leverageable for kernel information disclosure.
I:H - The input_free_device() misuse corrupts global input-core list
state (definite kernel structure corruption), and racing poll
against vb2_queue_init can invoke vb2_buffer_done and list
operations on uninitialized queue internals, enabling exploitable
heap/control-structure writes.
A:H - The fix commit explicitly cites a data race on the uninitialized
vb2_queue leading to system crash; corrupting input-core
registration state or racing teardown during USB disconnect can
cause kernel oops/panic and deny service on interactive
SUR40/PixelSense deployments.
Signed-off-by: Sasha Levin <sashal@kernel.org>
1 file changed