#1144933 libmodplug: CVE-2026-75904

Package:
src:libmodplug
Source:
src:libmodplug
Submitter:
Salvatore Bonaccorso
Date:
2026-08-20 15:45:02 UTC
Severity:
normal
Tags:
#1144933#5
Date:
2026-08-20 15:43:01 UTC
From:
To:
Hi,

The following vulnerability was published for libmodplug.

CVE-2026-75904[0]:
| libmodplug through 0.8.9.1 contains an out-of-bounds read in
| pat_smplooped in src/load_pat.cpp. The function validates only the
| upper bound of its sample index against MAXSMP and then subtracts
| one before indexing the 191-byte static array pat_loops, so an index
| of zero reads pat_loops[-1], one byte before the array. The index is
| the smpno field of a parsed MIDI event, which is initialised to zero
| and only later overwritten from a program-change parameter, so an
| event reaching the note test before an instrument is assigned
| carries zero. A 32-byte MIDI file supplied to the library's public
| ModPlug_Load entry point drives the path through CSoundFile::Create,
| CSoundFile::ReadMID, and MID_ReadPatterns to the read. The byte read
| out of bounds determines whether a note event is treated as looping,
| so adjacent static storage influences playback state.


If you fix the vulnerability please also make sure to include the
CVE (Common Vulnerabilities & Exposures) id in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2026-75904
https://www.cve.org/CVERecord?id=CVE-2026-75904
[1] https://github.com/Konstanty/libmodplug/issues/103

Regards,
Salvatore