Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-38680

CVE-2025-38680: Linux Kernel Buffer Overflow Vulnerability

CVE-2025-38680 is a buffer overflow flaw in the Linux kernel's uvcvideo driver that causes a 1-byte out-of-bounds read. This article covers the technical details, affected versions, security impact, and mitigation steps.

Updated:

CVE-2025-38680 Overview

CVE-2025-38680 is a 1-byte out-of-bounds read vulnerability in the Linux kernel's USB Video Class (uvcvideo) driver. The flaw resides in the uvc_parse_format() function, which accesses buffer[3] after a length check that only guarantees the buffer contains more than 2 bytes. When a buffer of exactly 3 bytes is presented, the function reads one byte past the allocated boundary. The issue is classified as an out-of-bounds read [CWE-125] and affects the Linux kernel and Debian Linux distributions. Exploitation requires local access with low privileges, making it most relevant for multi-user systems and environments exposed to malicious USB devices.

Critical Impact

A local attacker can trigger an out-of-bounds read in kernel memory through the uvcvideo driver, potentially leaking sensitive kernel data or crashing the system.

Affected Products

  • Linux Kernel (multiple stable branches prior to the fix commits)
  • Debian Linux 11.0
  • Linux Kernel versions 2.6.26 and later branches referenced in the stable git commits

Discovery Timeline

  • 2025-09-04 - CVE-2025-38680 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-38680

Vulnerability Analysis

The vulnerability exists in the uvc_parse_format() function within the Linux kernel's uvcvideo driver, which parses USB Video Class descriptors returned by connected video devices such as webcams. Prior to the fix, the caller validated only that the descriptor buffer length exceeded 2 bytes (buflen > 2). However, uvc_parse_format() dereferences buffer[3], which requires a minimum of 4 bytes to remain within allocation bounds.

When a device supplies a descriptor with exactly 3 bytes, the read of buffer[3] accesses memory one byte past the intended object. This condition is a classic off-by-one out-of-bounds read [CWE-125] in kernel space. The disclosed impact profile emphasizes confidentiality and availability, consistent with kernel memory disclosure or driver-induced denial-of-service outcomes.

Root Cause

The root cause is an inconsistent boundary check between the caller and the parser. The pre-call guard validates only 3 accessible bytes, while the parser accesses index 3 (the fourth byte). The fix updates the length check in uvc_parse_format() to require at least 4 bytes before dereferencing buffer[3].

Attack Vector

Exploitation requires local access to the system, either through an unprivileged local user parsing crafted descriptor data or, more practically, through a malicious or malformed USB video device that returns a truncated UVC descriptor when enumerated. The attack does not require user interaction beyond the device being connected and enumerated by the kernel. Because the flaw triggers during descriptor parsing, it can be reached automatically when a USB device is plugged in.

No public proof-of-concept exploit is available, and this CVE is not listed in the CISA Known Exploited Vulnerabilities catalog. See the Debian LTS Announcement and the Siemens Security Advisory for downstream impact details.

Detection Methods for CVE-2025-38680

Indicators of Compromise

  • Unexpected kernel warnings, KASAN reports, or oops messages referencing uvc_parse_format or the uvcvideo module in dmesg.
  • USB device enumeration events immediately preceding kernel instability or camera subsystem failures.
  • Presence of vulnerable kernel versions on hosts that permit untrusted USB device attachment.

Detection Strategies

  • Inventory Linux hosts and identify kernel builds that do not include the stable fix commits such as 1e269581b3aa, 424980d33b3f, or 782b6a718651.
  • Enable KASAN (Kernel Address Sanitizer) on test systems to detect the out-of-bounds read at runtime during USB device enumeration.
  • Monitor kernel logs for uvcvideo parsing errors that correlate with USB attach events.

Monitoring Recommendations

  • Forward dmesg and journald kernel logs to a centralized logging platform and alert on uvcvideo-related warnings or panics.
  • Track USB device attachment events on servers and workstations, particularly on shared or kiosk systems where untrusted devices may be inserted.
  • Correlate kernel version telemetry with the fixed commit hashes to identify unpatched endpoints.

How to Mitigate CVE-2025-38680

Immediate Actions Required

  • Apply the vendor-supplied kernel updates from your Linux distribution as soon as they are available.
  • On Debian 11 systems, install the latest kernel package referenced in the Debian LTS announcements.
  • Restrict physical and virtual USB access on systems where kernel patching cannot be performed immediately.

Patch Information

The upstream fix modifies uvc_parse_format() to require a minimum buffer length of 4 bytes before accessing buffer[3]. Stable branch fix commits include 1e269581b3aa, 424980d33b3f, 6d4a7c0b2961, 782b6a718651, and ffdd82182953. Debian users should refer to the Debian LTS Announcement (msg00007) and Debian LTS Announcement (msg00008). Industrial and OT operators should consult the Siemens Security Advisory SSA-032379.

Workarounds

  • Blacklist the uvcvideo kernel module on systems that do not require USB video functionality.
  • Enforce USB device policies via USBGuard or equivalent controls to block unauthorized video devices from being enumerated.
  • Limit local user access on multi-tenant systems until patched kernels are deployed.
bash
# Disable the uvcvideo module on systems that do not require USB video
echo "blacklist uvcvideo" | sudo tee /etc/modprobe.d/blacklist-uvcvideo.conf
sudo modprobe -r uvcvideo

# Verify installed kernel version against distribution advisories
uname -r
apt list --installed 2>/dev/null | grep linux-image

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.