PT-2026-77161 · Unknown · Libmodplug

·

CVE-2026-75904

·

Published

2026-08-18

·

Updated

2026-08-19

CVSS v3.1

3.3

Low

VectorAV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
Name of the Vulnerable Software and Affected Versions libmodplug versions prior to 0.8.9.2
Description An out-of-bounds read exists in the pat smplooped() function within src/load pat.cpp. The issue occurs because the function only validates the upper bound of the sample index against MAXSMP and subtracts one before indexing the pat loops static array. Consequently, if the smpno variable—which is initialized to zero and may not be overwritten before reaching the note test—is zero, the system reads one byte before the array. This process can be triggered by providing a specially crafted MIDI file to the ModPlug Load entry point, which then passes through CSoundFile::Create, CSoundFile::ReadMID, and MID ReadPatterns. The value read from the out-of-bounds memory determines if a note event is treated as looping, allowing adjacent static storage to influence the playback state.
Recommendations Update libmodplug to version 0.8.9.2 or later.

Exploit

Fix

Out of bounds Read

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

AZL-96854
CVE-2026-75904
ECHO-64F1-9158-8F37

Affected Products

Libmodplug