{"id":"CVE-2026-111270","published":"2026-10-15T22:19:27.820","lastModified":"2026-10-16T18:25:45.343","description":"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 wrapping patt_len value to corrupt heap memory and crash the consuming process.","cvssScore":6.1,"cvssSeverity":"MEDIUM","cvssVector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H","cwes":["CWE-787"],"vendors":[],"products":[],"references":[{"url":"https://github.com/Konstanty/libmodplug","tags":[]},{"url":"https://github.com/Konstanty/libmodplug/blob/d1b97ed0020bc620a059d3675d1854b40bd2608d/src/load_dsm.cpp#L130-L139","tags":[]},{"url":"https://hackmd.io/@haind-pwn/libmodplug-dsm-pattern-oob-write","tags":[]},{"url":"https://www.vulncheck.com/advisories/libmodplug-through-0.8.9.1-heap-out-of-bounds-write-via-csoundfile-readdsm","tags":[]}],"exploitRefs":[{"url":"https://github.com/Konstanty/libmodplug","tags":[]},{"url":"https://github.com/Konstanty/libmodplug/blob/d1b97ed0020bc620a059d3675d1854b40bd2608d/src/load_dsm.cpp#L130-L139","tags":[]}],"hasPoc":true,"ai":null}