Skip to main content

vgmstream CVE-2026-105251

| EUVDEUVD-2026-92283 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-05 VulDB GHSA-vmxr-72v8-8f85
5.3
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malformed VAG audio file
  2. Delivery
    Deliver file to victim
  3. Exploit
    Victim plays file in vgmstream-based app
  4. Execution
    Trigger OOB read in ps_find_padding
  5. Impact
    Disclose adjacent memory or crash decoder

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 play an attacker-crafted PlayStation VAG file through an application that uses vgmstream (version up to r2117); the ps_find_padding function in src/coding/psx_decoder.c reads beyond the input buffer when the remaining bytes are fewer than a full ADPCM frame (the patch adds a 'bytes < frame_size' bounds check). Limiting factors: exploitation is passive-interaction dependent (UI:P) - it does not occur without the user loading the malicious file - and impact is confined to minor memory disclosure or a decoder crash rather than code execution or system compromise; no authentication is required per the PR:N metric.

Impact

This is a genuinely moderate-to-low priority issue, not a top-tier threat. The signals are largely consistent: the input CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:P) scores 5.3 (MEDIUM), reflecting that exploitation is network-reachable but depends on user interaction (a victim must open or play a crafted file). CWE-125 (out-of-bounds read) plus the Information Disclosure tag indicate the primary impact is limited memory disclosure and/or a decoder crash, not code execution - consistent with the low VC/VI/VA (all L) and no scope change (SC/SI/SA:N). There is no CISA KEV listing and no public exploit was identified in the provided data, so the exploitation signal is weak. The exploitation-maturity metric is E:X (not defined), meaning maturity is explicitly unspecified rather than confirmed. One caveat to verify: the record labels the attack 'remote' and uses AV:N, but as a file-parsing library the realistic vector is a maliciously crafted VAG file delivered to and opened by a victim - 'remote' here means attacker-supplied input, not direct network service exploitation. The input provides only a CVSS 4.0 vector and no 3.1 vector; impact ratings of VI:L (integrity) are questionable for a pure read primitive. Overall: a real but low-urgency defect, appropriately patched.

Exploit ScenarioDerived

An attacker crafts a malformed PlayStation VAG audio file in which the padding-detection logic in ps_find_padding encounters insufficient remaining data for a full frame. When a victim opens or plays this file in an application that embeds vgmstream (e.g., a media-player plugin), the decoder reads past the end of the input buffer, disclosing adjacent process memory or crashing the application. No public exploit code was identified at time of analysis, and successful exploitation requires the victim to load the attacker-supplied file (UI:P).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 05, 2026

An out-of-bounds read in vgmstream up to revision r2117 is triggered when a victim opens or plays an attacker-crafted PlayStation VAG audio file through any application that embeds the library; the flaw sits in ps_find_padding() in src/coding/psx_decoder.c, which scans for padding at the end of a stream and reads past the input buffer when fewer bytes remain than a full ADPCM frame. Exploitation requires user interaction (CVSS 4.0 UI:P, PR:N - no authentication needed) and impact is limited to minor memory disclosure or a decoder crash, with no code execution or system compromise demonstrated. The vendor has published an upstream fix (PR #2001, commit 4b8316652a30d40f99ad43310bed273fd1f8a7a3) with a straightforward bounds check; no public exploit identified at time of analysis, and the associated reference issue (#2000) is a bug report rather than weaponized code.

RemediationAI

Apply the upstream fix: the maintainers merged PR #2001, whose commit 4b8316652a30d40f99ad43310bed273fd1f8a7a3 adds a 'bytes < (int)frame_size' bounds check in ps_find_padding() in src/coding/psx_decoder.c - this is an upstream fix (PR/commit); a released patched version is not independently confirmed, so consumers should build from the commit or from a revision after r2117. Until the updated library is integrated into the host application, compensating controls are: refuse to open or auto-play VAG files from untrusted sources (the attack requires the victim to load the file, so disabling automatic media association and file preview thumbnailing removes the trigger), and run any audio-conversion or batch-testing pipeline that must process untrusted VAG input inside a sandboxed, low-privilege process or container so a crash or small memory disclosure cannot be pivoted further. Note the trade-offs: blocking automatic VAG playback degrades legitimate user workflows, and sandboxing adds CPU and I/O overhead to batch decoding; because the impact ceiling is limited (minor disclosure or denial of service), these controls are proportionate only for environments that routinely ingest untrusted game-audio files. Reference advisories and the patch: https://github.com/vgmstream/vgmstream/pull/2001, https://github.com/vgmstream/vgmstream/commit/4b8316652a30d40f99ad43310bed273fd1f8a7a3, and https://vuldb.com/vuln/413458.

Affected VersionsENISA

vgmstream r2117

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

vgmstream is an open-source audio decoding library used to play streamed video-game audio formats; the affected component is the PSX (PlayStation) ADPCM decoder in src/coding/psx_decoder.c. VAG files are Sony's PlayStation audio container format carrying 16-byte ADPCM frames. The function ps_find_padding() walks the stream looking for trailing padding/silence so the decoder can determine real data end, and it advances by a fixed frame_size without first verifying that the remaining byte count is at least one full frame - a classic CWE-125 out-of-bounds read. The upstream patch (PR #2001, commit 4b8316652a30d40f99ad43310bed273fd1f8a7a3) adds a single guard, 'if (bytes < (int)frame_size) break;', aborting the scan when insufficient data remains. The affected CPE is cpe:2.3:a:n/a:vgmstream:*:*:*:*:*:*:*:*, i.e. all versions up to and including the r2117 snapshot, and the flaw is reachable through any host application that parses untrusted VAG input, since the read occurs inside the library's parsing path rather than in a caller-controlled wrapper.

Know when Vgmstream 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

Vendor (VulDB) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Attacker-supplied file is network-deliverable (AV:N) but must be opened by the victim (UI:R); an out-of-bounds read yields limited memory disclosure (C:L) and possible crash (A:L) with no integrity impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

A vulnerability was detected in vgmstream up to r2117. Affected by this vulnerability is the function ps_find_padding of the file src/coding/psx_decoder.c of the component VAG File Handler. Performing a manipulation results in out-of-bounds read. The attack is possible to be carried out remotely. The patch is named 4b8316652a30d40f99ad43310bed273fd1f8a7a3. It is suggested to install a patch to address this issue.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Low
niche game-audio decoding library, limited production/enterprise footprint
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy