CVE-2026-75904 in libmodplug
Zusammenfassung
von VulDB • 18.08.2026
libmodplug bis Version 0.8.9.1 enthält einen Out-of-Bounds-Read (Lesen außerhalb des gültigen Bereichs) in pat_smplooped in src/load_pat.cpp. Die Funktion validiert nur die Obergrenze ihres Sample-Index gegen MAXSMP und subtrahiert anschließend eins, bevor sie auf das 191 Byte große statische Array pat_loops zugreift; ein Index von Null liert daher pat_loops[-1], also ein Byte vor dem Array. Der Index entspricht dem smpno-Feld eines analysierten MIDI-Ereignisses, der initial mit null gesetzt ist und erst später aus einem Program-Change-Parameter überschrieben wird; somit trägt ein Ereignis, das den Note-Test erreicht, bevor ihm ein Instrument zugewiesen wurde, den Wert Null. Eine 32 Byte große MIDI-Datei, die an den öffentlichen Einstiegspunkt ModPlug_Load der Bibliothek übergeben wird, führt durch CSoundFile::Create, CSoundFile::ReadMID und MID_ReadPatterns bis zu diesem Lesevorgang. Das außerhalb des gültigen Bereichs gelesene Byte bestimmt, ob ein Note-Ereignis als Looping behandelt wird; damit beeinflusst benachbarter statischer Speicher den Wiedergabestatus.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.