libmt32emu before 2.8.4 Heap Buffer Overflow via MidiStreamParserImpl::parseSysex
Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.
- Exploited
- Proof of concept public, per CISA
- Fix
- Fixed in 2.8.4
- Who is exposed
- Specific setups only
Do first: Check whether your setup matches what the bug needs. Affects libmt32emu before 2.8.4. A single parseStream call must carry a SysEx that starts with 0xF0, holds more than 32768 data bytes, and never reaches 0xF7 or another status byte before the block ends. Reachable under the default parser configuration.
- Exploitation15/40CISA rates a proof of concept as public
- Exposure5/25Specific setups only
- Reach?/20Reach: unknown (data gap). No tracked technology or package matched
- Severity9.5/10CVSS 8.5, total technical impact per CISA
- No patch0/5No signal
What would change the score
- Would score about 65 if added to CISA KEV
- Would score about 60 if CISA's SSVC rates exploitation active
- Would score about 40 if CISA's SSVC rates it automatable
CVE-2026-121941 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 8.5 (high) and affects libmt32emu; fixed in 2.8.4.
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- Published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- A 0-100 score for how much a CVE matters across the industry: exploitation, exposure, how widely the software is used, severity and whether a fix exists.What do these mean? →
- 30/100 · provisional
- How many real-world setups can hit the bug, from the vendor's advisory and CISA data. It does not know your setup.What do these mean? →
- Specific setups only
- Fix
- Fixed in 2.8.4
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: poc
- Automatable: no
- Technical impact: total
Summary
The libmt32emu library has a heap buffer overflow in its SysEx parsing that lets an attacker corrupt heap memory and crash the application by sending oversized unterminated SysEx messages through MIDI files, ports, or sequencer clients. The attacker needs local access and no login, but a user must take an action for the attack to work.
Read the original description
libmt32emu before 2.8.4 contains a heap buffer overflow vulnerability in MidiStreamParserImpl::parseSysex that allows attackers to write past a heap allocation by supplying oversized unterminated SysEx messages. Attackers can feed more than 32768 SysEx data bytes through the mt32emu_parse_stream API via MIDI files, ports, or sequencer clients to corrupt heap memory and crash the application.
What to do
Check whether your setup matches what the bug needs.
Affects libmt32emu before 2.8.4. A single parseStream call must carry a SysEx that starts with 0xF0, holds more than 32768 data bytes, and never reaches 0xF7 or another status byte before the block ends. Reachable under the default parser configuration.Upgrade to a fixed version: 2.8.4.
Timeline
- CVE published
- First seen by cve.now
- CISA SSVC assessment
Exploitation: poc · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- munt libmt32emu
fixed in 2.8.4
Evidence 6
- Patch
- Exploit
- Report
- Repository
- Link
- Link
Corrections
None so far.
Something wrong on this page? Report an error. Every fix is listed here.
Questions about CVE-2026-121941
Is CVE-2026-121941 being exploited?
It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. CISA's SSVC assessment notes a proof of concept exists. No public exploit code is tracked.Source: cve.now feed data
What does this mean?
A crafted MIDI SysEx message longer than 32768 data bytes, sent in one parseStream call without a terminating 0xF7 or another status byte, makes libmt32emu write past the end of a heap buffer. The out-of-bounds write corrupts heap memory and can crash the program.Source: vulncheck.com, github.com, hackmd.io
Which versions are affected by CVE-2026-121941?
libmt32emu: before 2.8.4.Source: cve.now feed data
Am I affected, and how do I check?
libmt32emu versions before 2.8.4 are affected, and the issue is reachable through the documented streaming API under the default configuration. To check a version, look at the libmt32emu version in your build or package metadata.Source: vulncheck.com, github.com, hackmd.io
How do I fix CVE-2026-121941?
Upgrade libmt32emu to 2.8.4 or later, which contains the fix.Source: vulncheck.com, github.com, hackmd.io