| 标题 | vgmstream r2117 Out-of-bounds Read |
|---|
| 描述 | 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 |
|---|
| 来源 | ⚠️ https://github.com/vgmstream/vgmstream/issues/2000 |
|---|
| 用户 | ni-liao (UID 98297) |
|---|
| 提交 | 2026-09-13 16時32分 (23 日前) |
|---|
| 管理 | 2026-10-04 19時37分 (21 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 413458 [vgmstream 直到 r2117 VAG File src/coding/psx_decoder.c ps_find_padding 信息公开] |
|---|
| 积分 | 20 |
|---|