Description
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.
Published: 2026-08-26
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via system crash
Action: Apply Patch
AI Analysis

Impact

The sur40 input driver in the Linux kernel contains a race condition and improper initialization bug. During probe, the driver registers the input device before the V4L2 and vb2_queue components are fully prepared. If a user‑space process opens the device immediately, the kernel starts the sur40_poll() thread which calls sur40_process_video() and uses an uninitialized vb2_queue structure. This race can lead to kernel memory corruption and a system crash, effectively a denial‑of‑service. An additional error path frees the device after successful registration, potentially corrupting input core state.

Affected Systems

Linux kernel drivers that use the sur40 input module are affected. Any kernel version containing the bug prior to the described commit is vulnerable; the exact version range is not specified.

Risk and Exploitability

The flaw results in a data race that can crash the system. The CVSS score is 7.8, indicating a high severity; EPSS score is < 1%, showing a very low exploitation probability, and the vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that the likely attack vector is local: a user‑space application that opens the sur40 input device immediately after driver registration. Although no public exploit is documented, the crash potential makes the risk high for any system allowing such access.

Generated by OpenCVE AI on August 28, 2026 at 16:00 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a newer version that includes the sur40 registration ordering fix, or apply the kernel patch that moves input_register_device() to the end of sur40_probe() to resolve the data race identified as CWE‑824.
  • Apply the CIS recommended mitigation for CWE‑824 by restricting access to the /dev/input Sur40 device until the driver has fully probed. This can be done by disabling the sur40 module or configuring udev rules to deny user‑space access until V4L2 has finished initialization.
  • Monitor kernel logs and system stability for sur40 or V4L2 related instability to detect any remaining race conditions.

Generated by OpenCVE AI on August 28, 2026 at 16:00 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4777-1 linux security update
History

Thu, 27 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-824
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 27 Aug 2026 09:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665
CWE-847

Thu, 27 Aug 2026 06:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Wed, 26 Aug 2026 17:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665
CWE-847

Wed, 26 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Input: sur40 - fix input device registration ordering
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-27T05:01:47.768Z

Reserved: 2026-08-26T14:34:25.767Z

Link: CVE-2026-80559

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-26T15:17:10.690

Modified: 2026-08-27T06:17:40.253

Link: CVE-2026-80559

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-26T00:00:00Z

Links: CVE-2026-80559 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T16:30:17Z

Weaknesses
  • CWE-824

    Access of Uninitialized Pointer