| Title | vgmstream r2117 Out-of-bounds Read |
|---|
| Description | vgmstream contains a CWE-125 vulnerability in ps_find_padding() in src/coding/psx_decoder.c. The PlayStation ADPCM padding scanner reads reverse chunks into a fixed stack buffer, rounds the byte count down to a frame boundary, then unconditionally subtracts one frame and reads frame words from buf + buf_pos. If the reverse read returns fewer than one complete frame, buf_pos becomes negative and the next four 32-bit reads underflow the stack buffer. A crafted VAG file can therefore trigger a deterministic stack-buffer-underflow during format initialization, terminating the application and reading adjacent stack data.
I re-verified this issue against the latest upstream HEAD commit 79bc65b52cddc61b859679c1c47dc57092872ae1 on 2026-08-21 and confirmed that the vulnerable logic is still present there.
Affected component / root cause: psx:padding-scan-subtracts-frame-after-short-reverse-read
CWE: CWE-125
CVSS v3.1 draft: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H |
|---|
| Source | ⚠️ https://github.com/vgmstream/vgmstream/issues/2000 |
|---|
| User | ni-liao (UID 98297) |
|---|
| Submission | 09/13/2026 16:32 (21 days ago) |
|---|
| Moderation | 10/04/2026 19:37 (21 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 413458 [vgmstream up to r2117 VAG File src/coding/psx_decoder.c ps_find_padding out-of-bounds] |
|---|
| Points | 20 |
|---|