| タイトル | 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 日 ago) |
|---|
| モデレーション | 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 |
|---|