| 标题 | vgmstream r2117 Buffer Overflow |
|---|
| 描述 | vgmstream contains a CWE-787 vulnerability in vadpcm_read_coefs_be() in src/coding/vadpcm_decoder.c, reachable from the EA SCHl parser in src/meta/ea_schl.c. The code reads an attacker-controlled 32-bit VADPCM coefficient entry count with read_u32be() into a signed int, clamps only values greater than eight, and then copies entries * order * 8 coefficients into the fixed per-channel coefficient array. A high-bit value can become negative, bypass the upper-bound logic, and drive writes beyond the fixed vadpcm_coefs array. A crafted EA SCHl stream can therefore cause a heap buffer overflow during format initialization, leading to process termination and potentially enabling code execution in applications embedding vgmstream.
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: vadpcm:negative-entry-count-bypasses-upper-bound-and-overflows-coefficient-array
CWE: CWE-787
CVSS v3.1 draft: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
|---|
| 来源 | ⚠️ https://github.com/vgmstream/vgmstream/issues/1994 |
|---|
| 用户 | ni-liao (UID 98297) |
|---|
| 提交 | 2026-08-21 09時27分 (27 日前) |
|---|
| 管理 | 2026-09-17 10時17分 (27 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 406346 [vgmstream 直到 r2117 EA SCHl parser vadpcm_decoder.c vadpcm_read_coefs_be entry/entries 内存损坏] |
|---|
| 积分 | 20 |
|---|