Skip to main content

ESP32-audioI2S EUVDEUVD-2026-49862

| CVE-2026-51261 CRITICAL
Race Condition (CWE-362)
2026-07-28 mitre GHSA-fxgw-q43x-mvp4
9.8
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Point device at attacker-influenced audio stream
  2. Delivery
    Deliver timed/high-rate audio data
  3. Exploit
    Trigger race in unsynchronized freeSpace()
  4. Execution
    Force oversized heap write past buffer
  5. Persist
    Corrupt heap and hijack control flow
  6. Impact
    Execute code or crash ESP32

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the target ESP32 firmware to use ESP32-audioI2S 3.4.5 with at least two concurrent FreeRTOS tasks accessing the shared AudioBuffer (the normal producer/consumer streaming configuration), and the attacker must be able to supply or influence the audio data stream being buffered. The corruption only triggers when a task context switch occurs during the unsynchronized freeSpace() pointer read, so success is timing-dependent (a race that must be won), which limits reliable exploitation. Limiting factors: the attacker needs control over the audio source or network path feeding the buffer, exploitation is probabilistic rather than deterministic, and the impact depends on the integrating firmware actually trusting freeSpace()'s return value for its writes.

Impact

The signals conflict and warrant a tempered priority. The submitted CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N, base 9.8) treats this as trivially remote-exploitable, but a synchronization race is inherently timing-dependent and, on an embedded audio pipeline, an attacker must control or influence the audio stream and win a scheduler race - closer to AC:H than AC:L, which materially lowers realistic exploitability. SSVC reinforces caution: Exploitation is 'none' (no observed attacks), though Automatable is 'yes' and Technical Impact is 'total' (consistent with potential RCE and full device compromise). EPSS is very low at 0.16% (5th percentile), and there is no CISA KEV listing, so this is not evidence of widespread opportunistic exploitation. Net: a genuinely high-impact memory-corruption bug worth patching in any ESP32 fleet running this library, but current real-world exploitation risk is low and the 9.8 headline overstates the ease of attack against embedded targets.

Exploit ScenarioDerived

An attacker who controls or can influence the audio stream an ESP32 device is decoding (for example a malicious web-radio/HTTP audio source) feeds data at rates and timings that force the network/decode task and playback task to interleave, causing freeSpace() to report more room than exists. The oversized write overruns the heap buffer, corrupting memory to crash the device or, with careful heap grooming, achieve code execution. No public proof-of-concept is identified; the attack requires winning a timing-sensitive race, consistent with high attack complexity despite the network vector.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 30, 2026

Heap out-of-bounds write in schreibfaul1's ESP32-audioI2S library version 3.4.5 stems from an unsynchronized AudioBuffer::freeSpace() calculation that concurrent FreeRTOS tasks can race, producing an inflated free-space value that callers trust when writing decoded audio. Successful exploitation corrupts heap memory on the ESP32 microcontroller, causing crashes and potentially arbitrary code execution. No public exploit identified at time of analysis; EPSS is low (0.16%, 5th percentile) and CISA SSVC records exploitation status as none, indicating no observed in-the-wild activity despite the 9.8 CVSS.

RemediationAI

No vendor-released patched version is independently confirmed at time of analysis - the references point to the source file and a third-party advisory repository, not a tagged release, so track the schreibfaul1/ESP32-audioI2S GitHub project for an upstream commit and upgrade to the first release that adds mutex protection to AudioBuffer::freeSpace() (verify against https://github.com/schreibfaul1/ESP32-audioI2S). As a compensating control, developers integrating the library can wrap buffer read/write pointer access and the freeSpace() computation in a FreeRTOS mutex or critical section (portENTER_CRITICAL / taskENTER_CRITICAL) so producer and consumer tasks cannot interleave, at the cost of minor added latency and reduced concurrency on the audio path. Where patching is not yet possible, restrict devices to trusted audio sources and networks and avoid exposing the streaming endpoint to untrusted input, since limiting attacker control over the audio stream reduces the ability to force the race. Consult the advisory at https://github.com/programmervuln/cveadvisory-/blob/main/CVE-2026-51261 for further detail.

Affected VersionsENISA

n/a n/a

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ESP32-audioI2S is a widely used Arduino/ESP-IDF C++ library that decodes and streams audio (MP3, AAC, FLAC, web radio, etc.) to an I2S DAC on Espressif ESP32 microcontrollers, which run FreeRTOS with multiple concurrent tasks (typically a network/decode task and a playback task). The vulnerability is a CWE-362 concurrent execution race condition: AudioBuffer::freeSpace() in src/Audio.cpp computes remaining ring-buffer capacity from shared read and write pointers without holding a mutex, so a context switch mid-calculation lets the function return a stale, oversized value. A writer that trusts this value copies more bytes than the buffer actually holds, driving a heap out-of-bounds write and memory corruption. The reported CPE (cpe:2.3:a:n/a:n/a) is a placeholder and does not identify the product; the real affected component is the schreibfaul1/ESP32-audioI2S source tree.

Know when N A gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.1 HIGH

Attacker can influence the network audio stream (AV:N, PR:N/UI:N), but triggering the race requires winning a timing-dependent scheduler window, so AC:H; corruption enables full device compromise (C/I/A:H).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
CVSS changed
Jul 30, 2026 - 19:22 NVD
9.8 (CRITICAL)
CVE Published
Jul 28, 2026 - 00:00 cve.org
CRITICAL 9.8
CVE Published
Jul 28, 2026 - 00:00 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

Missing mutex synchronization in AudioBuffer::freeSpace() in schreibfaul1 ESP32-audioI2S 3.4.5 creates a race condition between concurrent tasks. The function calculates available buffer space without protecting shared read/write pointers, returning an incorrectly large value. Trusting this value leads to heap out-of-bounds write, memory corruption, device crash, and arbitrary code execution.

Executive ViewAI

Why It Matters

The ESP32-audioI2S library version 3.4.5 contains a critical heap corruption vulnerability (CVSS 9.8) with potential for arbitrary code execution on embedded microcontrollers; no public exploit has been identified at time of analysis, and no vendor patch is currently available, requiring immediate organizational action to identify affected systems and implement compensating controls.

Business Impact: High
Compensating Controls

Network isolation of affected ESP32 devices; input validation and sanitization of audio streams; enhanced device logging and monitoring for heap corruption indicators; consider disabling audio functionality on non-critical systems; evaluate alternative embedded audio libraries for future development.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
popular hobbyist ESP32 audio library, niche embedded footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Total

Priority Score

49
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +49
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in N A

View all
CVE-2024-51092 CRITICAL POC
9.1 May 08

LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr

CVE-2025-15684 MEDIUM POC
5.5 Aug 12

Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han

CVE-2024-45257 HIGH POC
7.3 May 08

A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi

CVE-2025-15687 LOW POC
2.1 Aug 12

Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc

CVE-2025-15686 LOW POC
2.1 Aug 12

Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula

CVE-2025-67888 HIGH POC
7.3 May 08

Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root

CVE-2024-53326 HIGH POC
7.3 May 08

LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(

CVE-2026-38360 CRITICAL POC
9.8 May 08

Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti

CVE-2026-30623 CRITICAL POC
9.8 Jul 15

Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr

CVE-2026-67917 CRITICAL POC
9.8 Aug 17

SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg

CVE-2026-75337 CRITICAL POC
9.8 Aug 27

Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ

CVE-2026-31072 CRITICAL POC
9.8 May 19

Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy