Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
AC:H reflects the race condition timing requirement during probe; PR:L for local user opening input node; C/I/A:H retained for kernel-level crash and potential memory corruption impact.
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
5DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
Input: sur40 - fix input device registration ordering
In sur40_probe(), input_register_device() was previously called early before the V4L2 video device and vb2_queue components were fully initialized. If userspace opened the input device immediately upon registration, sur40_open() would trigger and start the sur40_poll() worker thread. This worker thread invokes sur40_process_video() and accesses the uninitialized vb2_queue structure, leading to a data race and potential system crash.
Furthermore, if V4L2 or video registration failed after input_register_device() succeeded, the error path fell through to calling input_free_device() on a successfully registered device instead of input_unregister_device(), corrupting input core state.
Move input_register_device() to the very end of sur40_probe(). This ensures the V4L2 and video queue structures are fully initialized before polling can start, and naturally resolves the error path bug since input_free_device() is now only called when input registration has not yet occurred.
To maintain strict LIFO (Last-In, First-Out) teardown ordering, also move input_unregister_device() to the very beginning of sur40_disconnect(). This guarantees that the input polling worker thread is stopped before V4L2 video components or control handlers are unregistered.
AnalysisAI
Race condition and error-path corruption in the Linux kernel sur40 input driver allow a local low-privileged user with access to an attached Samsung SUR40 multi-touch device to crash the kernel or corrupt input core state. The driver registers the input device in sur40_probe() before V4L2 video and vb2_queue components are fully initialized; any userspace process opening the input node immediately after registration can trigger the sur40_poll() worker thread, which dereferences the still-uninitialized vb2_queue and causes a data race leading to a potential system crash. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Exploitation requires all of the following: (1) a Samsung SUR40 multi-touch table physically connected to the target system, causing the sur40 kernel module to load and sur40_probe() to execute; (2) a local user account with at least standard (non-root) privileges sufficient to open input device nodes under /dev/input/ (PR:L per CVSS); (3) a race window during driver probe - specifically the gap between input_register_device() returning and vb2_queue_init() completing. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | The CVSS 7.8 score (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) reflects kernel-level impact but overstates practical risk for most environments due to the strict hardware prerequisite. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | A local user on a kiosk or interactive table system with an attached Samsung SUR40 device writes a tight loop that opens the input event node (e.g., /dev/input/event3) as soon as the device is enumerated - for example, triggered by a udev rule race or a hotplug event. The open call arrives during the narrow window after input_register_device() completes but before vb2_queue_init() returns, causing sur40_open() to schedule the sur40_poll worker, which calls sur40_process_video() and dereferences fields in the uninitialized vb2_queue structure, resulting in a kernel oops or general protection fault and system crash. … |
| Remediation | Update to a patched kernel version: 5.10.266 or later in the 5.10 series, 5.15.217 in the 5.15 series, 6.1.184 in the 6.1 series, 6.6.153 in the 6.6 series, 6.12.105 in the 6.12 series, 6.18.46 in the 6.18 series, 7.1.10 in the 7.1 series, or any 7.2+ release. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, identify all systems with attached Samsung SUR40 multi-touch devices to establish scope. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Same technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-66474
GHSA-7345-535v-r8v7