Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessPoint device at attacker-influenced audio stream
-
DeliveryDeliver timed/high-rate audio data
-
ExploitTrigger race in unsynchronized freeSpace()
-
ExecutionForce oversized heap write past buffer
-
PersistCorrupt heap and hijack control flow
-
ImpactExecute 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
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).
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
3DescriptionCVE.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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr
Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han
A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi
Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc
Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula
Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root
LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(
Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti
Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr
SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg
Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ
Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali
EUVD-2026-49862
GHSA-fxgw-q43x-mvp4
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB