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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| munt | libmt32emu | < 2.8.4 | 2.8.4 |
References
- https://github.com/munt/munt/issues/149 issue-tracking
- https://hackmd.io/@haindpwn/munt-midistreamparser-oversized-sysex-heap-overflow third-party-advisory
- https://github.com/munt/munt/commit/1749f7fed5cdb3a9015acce076a1512b1615dc3b patch
- https://github.com/munt/munt/blob/libmt32emu_2_8_3/mt32emu/src/MidiStreamParser.cpp#L223-L257 technical-description
- VulnCheck Advisory: libmt32emu before 2.8.4 Heap Buffer Overflow via MidiStreamParserImpl::parseSysex third-party-advisory