☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-68622

CVE-2025-68622 Buffer Overflow in Espressif
📅 PUBLISHED: 2026-01-12 17:08 UTC 🔄 UPDATED: 2026-09-23 20:25 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.24%
👁️
0.24% probability
6.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
6.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-68622 is a stack buffer overflow vulnerability in the Espressif ESP-IDF USB Host UVC Class Driver, specifically within the esp-usb library. The flaw exists in the configuration-descriptor parsing logic of the USB Video Class (UVC) host implementation. A malicious USB device can send a specially crafted UVC descriptor with an excessively large length value. Because this length is not validated before being copied into a fixed-size stack buffer, an attacker with physical USB access can trigger a stack buffer overflow, leading to memory corruption and potential arbitrary code execution. The vulnerability affects all versions prior to 2.4.0. The CVSS score is 6.8 (Medium), with a physical attack vector and high impact on confidentiality, integrity, and availability. No public exploit code or proof-of-concept is currently available.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a firmware-level vulnerability in the Espressif ESP-IDF ecosystem, specifically in the esp-usb library component. The supply chain risk is limited to devices that integrate this library and accept USB connections from untrusted sources.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Base Score: 6.8 (Medium)
  • Attack Vector (AV): Physical (AV:P) – The attacker must have physical access to the device's USB port.
  • Attack Complexity (AC): Low (AC:L) – No special conditions are required to exploit the vulnerability.
  • Privileges Required (PR): None (PR:N) – No authentication or privileges are needed.
  • User Interaction (UI): None (UI:N) – The victim does not need to perform any action.
  • Scope (S): Unchanged (S:U) – The vulnerability does not affect other components.
  • Confidentiality (C): High (C:H) – An attacker could read sensitive memory contents.
  • Integrity (I): High (I:H) – An attacker could modify memory or code execution.
  • Availability (A): High (A:H) – An attacker could crash the device or cause denial of service.

Threat Level: Medium. The physical attack vector reduces the likelihood of remote exploitation, but the impact is severe. The vulnerability is particularly dangerous in scenarios where untrusted USB devices can be connected to ESP-IDF-based systems (e.g., IoT hubs, embedded systems).

Deep Dive & Mechanics

The vulnerability resides in the USB Video Class (UVC) host driver within the esp-usb library. When a USB device is connected, the host driver parses the device's configuration descriptors to understand its capabilities. The UVC class driver includes a function that prints detailed descriptor information for debugging purposes. This function copies descriptor data into a fixed-size stack buffer without validating the length advertised by the device.

Root Cause: The uvc_parse_configuration_descriptor function (or similar) reads a length field from the UVC descriptor provided by the USB device. This length is used in a memcpy or similar operation to copy data into a stack buffer of fixed size (e.g., 256 bytes). If the device advertises a length larger than the buffer, a stack buffer overflow occurs.

Attack Scenario:

  1. An attacker crafts a malicious USB device that presents itself as a UVC camera.
  2. The device sends a configuration descriptor with an oversized length field (e.g., 1024 bytes).
  3. The ESP-IDF host driver, without validation, copies the descriptor data into a fixed-size stack buffer.
  4. The overflow corrupts adjacent stack memory, potentially overwriting the return address or other critical data.
  5. The attacker can then achieve arbitrary code execution or cause a denial of service.

Affected Component: esp-usb library, specifically the UVC host class driver. The vulnerability is present in all versions prior to 2.4.0.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

// Vulnerable: No length validation
void uvc_parse_configuration_descriptor(uint8_t *desc, uint16_t len) {
    char buffer[256];
    // len is taken directly from the USB device descriptor
    memcpy(buffer, desc, len); // Stack buffer overflow if len > 256
    // ... process buffer ...
}

Patched Code (Version 2.4.0):

// Patched: Length validation added
void uvc_parse_configuration_descriptor(uint8_t *desc, uint16_t len) {
    char buffer[256];
    if (len > sizeof(buffer)) {
        // Handle error: descriptor too large
        return;
    }
    memcpy(buffer, desc, len);
    // ... process buffer ...
}

The patch adds a bounds check before copying data into the stack buffer, preventing the overflow.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Physical access to the target device's USB port.
  • A USB device capable of presenting a malicious UVC descriptor (e.g., a custom USB device using a microcontroller like the Teensy or Raspberry Pi Pico).
  • Knowledge of the target's stack layout (for arbitrary code execution).

Lab Setup:

  1. Hardware: A Teensy 4.0 or similar USB-capable microcontroller.
  2. Software: Arduino IDE or PlatformIO with the USBHost_t36 library (for Teensy) to emulate a UVC device.
  3. Target: An ESP32 or ESP32-S3 running ESP-IDF with esp-usb version < 2.4.0.

Exploitation Steps:

  1. Program the malicious USB device to present itself as a UVC camera.
  2. In the device firmware, craft a UVC configuration descriptor with an oversized length field (e.g., 512 bytes).
  3. Connect the malicious device to the target's USB port.
  4. The target's ESP-IDF host driver will parse the descriptor and trigger the stack buffer overflow.
  5. If the overflow is carefully crafted, it can overwrite the return address to redirect execution to attacker-controlled code.

Note: No public exploit code is available. The above is a conceptual guide.

Blue Team (Defense & Detection)

Defensive Measures:

  • Update: Immediately update the esp-usb library to version 2.4.0 or later.
  • Input Validation: Ensure all USB descriptor parsing includes length validation.
  • Stack Canaries: Enable compiler stack protection (e.g., -fstack-protector-strong) to detect overflows.
  • USB Port Control: Disable USB ports in production environments where not needed.
  • Physical Security: Restrict physical access to devices.

Detection:

  • Monitor for unexpected USB device connections.
  • Log and alert on USB descriptor parsing errors.
  • Use memory protection units (MPU) to prevent stack execution.

Indicators of Compromise (IOCs)

  • Network: No network-based IOCs (physical attack vector).
  • Host:
    • Unexpected USB device connections (especially UVC devices).
    • System crashes or reboots after USB device insertion.
    • Memory corruption errors in logs (e.g., "stack smashing detected").
  • File: No file-based IOCs.
  • Registry: Not applicable (embedded system).

Detection Engineering

YARA Rule

rule CVE_2025_68622_ESP_UVC_Overflow {
    meta:
        description = "Detects potential exploitation of CVE-2025-68622 via oversized UVC descriptor"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-68622"
    strings:
        $uvc_descriptor = { 24 ?? ?? ?? ?? 01 } // UVC descriptor header (example)
        $large_length = { ?? 00 01 00 } // Length > 256 bytes (example)
    condition:
        $uvc_descriptor and $large_length
}

Sigma Rule

title: CVE-2025-68622 - ESP-IDF UVC Stack Buffer Overflow
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects potential exploitation of CVE-2025-68622 via oversized UVC descriptor
author: Valters IT
date: 2025-04-10
logsource:
    product: linux
    service: syslog
detection:
    selection:
        - "uvc_parse_configuration_descriptor: descriptor too large"
        - "stack smashing detected"
    condition: selection
falsepositives:
    - Legitimate large descriptors (unlikely)
level: high

Suricata Rule

alert udp any any -> any any (msg:"CVE-2025-68622 - ESP-IDF UVC Stack Buffer Overflow"; content:"|24|"; offset:0; depth:1; content:"|01|"; distance:0; within:2; byte_test:2,>,256,2; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Update esp-usb library to version 2.4.0 or later. This is the only official fix.
  2. Disable USB host functionality if not required in the deployment.
  3. Implement physical security controls to prevent unauthorized USB device connections.

Long-Term Mitigations:

  • Code Review: Audit all USB descriptor parsing code for similar vulnerabilities.
  • Compiler Hardening: Use stack canaries (-fstack-protector-strong), ASLR, and NX.
  • Memory Protection: Enable MPU/MMU to prevent stack execution.
  • Runtime Monitoring: Implement intrusion detection systems that monitor USB activity.

Workarounds:

  • If updating is not possible, disable the UVC class driver in the ESP-IDF configuration (CONFIG_USB_HOST_UVC_ENABLE).
  • Use a USB firewall or whitelist approved USB devices.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-68622/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.