# CVE-2026-51261: schreibfaul1 ESP32-audioI2S race condition in AudioBuffer::freeSpace

Source: https://junglewise.ai/threats/cve-2026-51261-schreibfaul1-esp32-audioi2s-race-condition-in-audiobuffer  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-28. Updated: 2026-07-28  
License: CC BY 4.0 with a link back

CVE-2026-51261 · Severity: info · CVSS 0 · Published 2026-07-28

A race condition exists in the ESP32-audioI2S library, which is used to play audio on ESP32 microcontrollers. By processing a specially crafted or continuous audio stream, the device may miscalculate its available memory, leading to a system crash or potential unauthorized code execution. This could result in a permanent service outage for the affected device or allow an attacker to gain control over the hardware.

Technologies: [Schreibfaul1 ESP32-audioI2S](https://junglewise.ai/threats/technologies/esp32-audioi2s). Vendors: [Schreibfaul1](https://junglewise.ai/threats/vendors/schreibfaul1).

## Quick answers

**Is CVE-2026-51261 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-51261 being exploited in the wild.

**How severe is CVE-2026-51261?** Informational severity, with a CVSS score of 0, published 28 July 2026.

**Which products and versions are affected?** Schreibfaul1 ESP32-audioI2S 3.4.5.

**Is there a fix for CVE-2026-51261?** A patch was published on 2026-07-28: Vendor patch reported as under development in external advisory Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-51261 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-51261?** Check whether you run Schreibfaul1 ESP32-audioI2S at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

A race condition (CWE-362) exists in the AudioBuffer::freeSpace() function within src/Audio.cpp of the ESP32-audioI2S library. The vulnerability is caused by missing mutex synchronization when accessing shared ring buffer pointers (m_readPtr and m_writePtr) during free space calculations. When the audio decoding task and I2S playback task execute concurrently, the function may return an overestimated free space value. An attacker can exploit this by providing a malicious audio stream or file, leading to a heap out-of-bounds write, memory corruption, and potentially remote arbitrary code execution. As of the advisory date, a vendor patch is reportedly under development.

## Affected products

- schreibfaul1 ESP32-audioI2S 3.4.5

## Timeline

- 2026-07-28: advisory: CVE-2026-51261 published
- 2026-07-28: patched: Vendor patch reported as under development in external advisory

## References

- [https://github.com/programmervuln/cveadvisory-/blob/main/CVE-2026-51261](https://github.com/programmervuln/cveadvisory-/blob/main/CVE-2026-51261)
- [https://github.com/schreibfaul1/ESP32-audioI2S/blob/master/src/Audio.cpp](https://github.com/schreibfaul1/ESP32-audioI2S/blob/master/src/Audio.cpp)

## Related threats

- [ESP32-audioI2S heap out-of-bounds read in ID3 header processing](https://junglewise.ai/threats/cve-2026-87961-esp32-audioi2s-heap-out-of-bounds-read-in-id3-header-processing)
- [schreibfaul1 ESP32-audioI2S heap overflow in latinToUTF8](https://junglewise.ai/threats/cve-2026-51272-schreibfaul1-esp32-audioi2s-heap-overflow-in-latintoutf8)
- [schreibfaul1 ESP32-audioI2S heap buffer overflow in ID3v2 APIC parsing](https://junglewise.ai/threats/cve-2026-51275-schreibfaul1-esp32-audioi2s-heap-buffer-overflow-in-id3v2-apic)
- [schreibfaul1 ESP32-audioI2S heap overflow in SYLT parser](https://junglewise.ai/threats/cve-2026-51274-schreibfaul1-esp32-audioi2s-heap-overflow-in-sylt-parser)
- [schreibfaul1 ESP32-audioI2S heap overflow in showID3Tag](https://junglewise.ai/threats/cve-2026-51273-schreibfaul1-esp32-audioi2s-heap-overflow-in-showid3tag)
