{"id":"CVE-2026-111270","title":"libmodplug through 0.8.9.1 Heap Out-of-Bounds Write via CSoundFile::ReadDSM","summary":"libmodplug through 0.8.9.1 contains a heap-based out-of-bounds write in CSoundFile::ReadDSM() in src/load_dsm.cpp because nPat is never checked against MAX_PATTERNS. Attackers can supply a crafted DSM file with over 240 PATT chunks or a …","severity":"medium","cvss":6.1,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H","cvssSource":"cna","cwe":["CWE-787"],"vendor":"Konstanty Bialkowski","product":"libmodplug","affected":["libmodplug <= 0.8.9.1"],"published":"2026-10-15","updated":"2026-10-15","sourceUpdated":"2026-10-15T21:43:17.665Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-111270","references":[{"url":"https://hackmd.io/@haind-pwn/libmodplug-dsm-pattern-oob-write"},{"url":"https://github.com/Konstanty/libmodplug/blob/d1b97ed0020bc620a059d3675d1854b40bd2608d/src/load_dsm.cpp#L130-L139"},{"url":"https://github.com/Konstanty/libmodplug"},{"url":"https://www.vulncheck.com/advisories/libmodplug-through-0.8.9.1-heap-out-of-bounds-write-via-csoundfile-readdsm","label":"VulnCheck Advisory: libmodplug through 0.8.9.1 Heap Out-of-Bounds Write via CSoundFile::ReadDSM"}],"tags":["cve.org"],"ingestedAt":"2026-10-15T22:48:25.446Z","slug":"CVE-2026-111270","body":"## Overview\n\nlibmodplug through 0.8.9.1 contains a heap-based out-of-bounds write in CSoundFile::ReadDSM() in src/load_dsm.cpp because nPat is never checked against MAX_PATTERNS. Attackers can supply a crafted DSM file with over 240 PATT chunks or a wrapping patt_len value to corrupt heap memory and crash the consuming process.\n\n## Affected\n\n- `libmodplug <= 0.8.9.1`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":34,"depthScoreParts":{"impact":33.6,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}