Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious .vgm with small 0x7F table
-
DeliveryDeliver file to victim via download or share
-
ExploitVictim opens file in libvgm-based player
-
ExecutionUnbounded table index triggers heap OOB read in DecompressDataBlk
-
ImpactConsumer application crashes (denial of service)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a victim to open or process an attacker-supplied .vgm file in an application that uses libvgm; the file must contain a PCM data block of type 0x7F whose compression table is undersized while referencing wider compressed values, causing DecompressDataBlk to index beyond the table bounds. Limiting factors that reduce real-world risk: exploitation is local and file-based (AV:L) rather than remote, it requires user interaction (the victim must open the crafted file), and the demonstrated impact is limited to a crash/denial-of-service of the consumer - no code execution, privilege escalation, or confirmed confidentiality impact. There is no authentication requirement (PR:N), but the attacker cannot trigger the flaw without the victim choosing to process the malicious media file. |
| Impact | This is a memory-safety defect (CWE-125 heap out-of-bounds read) in libvgm's PCM data-block decompressor, confirmed by VulnCheck with publicly available proof-of-concept exploit code. The supplied CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H) tells a consistent story of a low-severity, availability-only issue: exploitation is local/file-based, requires passive user interaction (opening a crafted .vgm file), needs no privileges, and produces only a crash (VA:H) with no confidentiality or integrity impact. The score of 6.8 is MEDIUM, and the real-world risk is lower still because the only demonstrated outcome is a denial-of-service crash of the consuming application, not code execution or data theft. There is NO CISA KEV listing and no EPSS score was provided in the input, so there is no evidence of active or widespread exploitation - the risk is driven solely by POC availability, not observed attacks. Note a conflict worth flagging: the input Tags include 'Information Disclosure', but the authoritative CVSS confidentiality metric is VC:N, meaning no confidentiality impact is scored; although an OOB read can in principle leak adjacent heap bytes, the vendor-provided vector and description frame this strictly as an over-read that crashes consumers, so treat 'information disclosure' as unconfirmed. Overall this is a genuine but low-priority bug best handled through routine patching rather than emergency response. |
| Exploit ScenarioDerived | An attacker crafts a malicious .vgm music file containing a type 0x7F PCM compression table that is deliberately undersized relative to the width of the compressed values it references. When a victim opens or plays this file in any application built on libvgm, DecompressDataBlk indexes past the end of the compression table and over-reads heap memory, crashing the consuming program. A public proof-of-concept exists (documented by VulnCheck and a HackMD writeup), so reliable triggering of the crash is already within reach of unsophisticated attackers. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Heap out-of-bounds read in the PCM data-block decompressor (DecompressDataBlk) of ValleyBell libvgm through commit a6eed945 allows a crafted .vgm file to crash the consuming application. A malicious file supplies a PCM data block of type 0x7F with an undersized compression table that is then indexed by wider compressed values, forcing an out-of-bounds heap read; the confirmed impact is a denial-of-service crash of whatever player, converter, or emulator embeds the library, with no code execution, privilege escalation, or confirmed data disclosure. Publicly available proof-of-concept exploit code exists, and the issue is being tracked by VulnCheck; no confirmed active exploitation (CISA KEV) has been reported. Exploitation is local and file-based (CVSS:3.1/AV:L/AC:L/PR:N/UI:R), so an attacker must convince a victim to open the malicious media file, and no public EPSS score was included in the available data.
RemediationAI
No vendor-released patch version is identified in the available data, so the primary action is to track upstream at https://github.com/ValleyBell/libvgm and move to a revision after a6eed945 once the maintainer lands a fix, or backport a bounds check that validates the compression-table index against the declared size of the type 0x7F table before it is used in DecompressDataBlk (the vulnerable logic at player/dblk_compr.c lines 183-190 and 727-751 is the place to add the guard, rejecting blocks whose compressed values require entries wider than the table provides). Where patching is not yet possible, treat .vgm files as untrusted input: run players, converters, and batch scanners that embed libvgm in a sandboxed or low-privilege process so an out-of-bounds read only crashes the isolated worker rather than a user-facing application, and gate automatic parsing of downloaded or user-supplied .vgm media behind explicit confirmation or an allow-list - the trade-off being reduced usability and added friction for legitimate music files. Additional compensating measures include disabling or refusing compressed PCM data blocks (particularly type 0x7F) in any configurable decoder path, and running file-processing jobs under memory sanitizers or hardened allocators during triage; both reduce exposure but either break playback of legitimately compressed files or slow processing. Validation details, including the public proof-of-concept, are published at https://hackmd.io/@haind-pwn/libvgm-pcm-compression-table-oob-read and https://www.vulncheck.com/advisories/valleybell-libvgm-through-commit-a6eed945-heap-out-of-bounds-read-via-decompressdatablk.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
libvgm is a C library for parsing and playing back VGM (Video Game Music) files, which package chip register writes along with PCM sample data. PCM payloads inside a .vgm file may be stored in compressed data blocks that a decompressor routine (DecompressDataBlk, implemented in player/dblk_compr.c) expands using a per-block compression table; the vulnerable code paths span the table-indexing logic around lines 183-190 and the decompression loop around lines 727-751 at commit a6eed945. The root cause is CWE-125 (Out-of-bounds Read): the compression-table index derived from the compressed data stream is not validated against the declared size of the type 0x7F table, so a file that declares a small table but encodes wider compressed values drives the index past the end of the heap allocation holding the table, producing an over-read. The defect is strictly a read primitve that terminates in a crash of the parsing process; no write primitive, memory corruption leading to code execution, or information leak to the attacker is demonstrated. The affected package is identified by the CPE cpe:2.3:a:valleybell:libvgm:*:*:*:*:*:*:*:*, i.e. all builds up to and including the referenced commit.
Know when Libvgm gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
File must be opened locally by a user (AV:L, UI:R) with no privileges (PR:N); impact is a crash only, so C:N/I:N/A:H and unchanged scope.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
ValleyBell libvgm through commit a6eed945 contains a heap out-of-bounds read vulnerability in the PCM data-block decompressor caused by an unbounded compression-table index. Attackers can supply a crafted .vgm file with a small type 0x7F table and wider compressed values, causing DecompressDataBlk to over-read heap memory and crash consumers.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-102277
NVD
CVE.org
EPSS
GitHub
Exploit-DB