---
id: CVE-2026-111271
title: 'libmodplug through 0.8.9.1 Heap Out-of-Bounds Read via CSoundFile::ReadAMS2'
summary: >-
  libmodplug through 0.8.9.1 contains a heap-based out-of-bounds read
  vulnerability in CSoundFile::ReadAMS2() in src/load_ams.cpp that allows
  attackers to read adjacent heap memory via crafted AMS files. Attackers can
  supply an AMS module …
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H'
cvssSource: cna
cwe:
  - CWE-125
vendor: Konstanty Bialkowski
product: libmodplug
affected:
  - libmodplug <= 0.8.9.1
published: '2026-10-15'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T21:43:18.348Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-111271'
references:
  - url: 'https://hackmd.io/@haind-pwn/libmodplug-dsm-pattern-oob-write'
  - url: >-
      https://github.com/Konstanty/libmodplug/blob/d1b97ed0020bc620a059d3675d1854b40bd2608d/src/load_ams.cpp#L509-L537
  - url: 'https://github.com/Konstanty/libmodplug'
  - url: >-
      https://www.vulncheck.com/advisories/libmodplug-through-0.8.9.1-heap-out-of-bounds-read-via-csoundfile-readams2
    label: >-
      VulnCheck Advisory: libmodplug through 0.8.9.1 Heap Out-of-Bounds Read via
      CSoundFile::ReadAMS2
tags:
  - cve.org
ingestedAt: '2026-10-15T22:48:25.446Z'
---

## Overview

libmodplug through 0.8.9.1 contains a heap-based out-of-bounds read vulnerability in CSoundFile::ReadAMS2() in src/load_ams.cpp that allows attackers to read adjacent heap memory via crafted AMS files. Attackers can supply an AMS module whose pattern effect bytes keep bit 7 set, driving the decoder past the input buffer and crashing any libmodplug consumer.

## Affected

- `libmodplug <= 0.8.9.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
