| Título | vgmstream r2117 Buffer Overflow |
|---|
| Descrição | 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 |
|---|
| Fonte | ⚠️ https://github.com/vgmstream/vgmstream/issues/1994 |
|---|
| Utilizador | ni-liao (UID 98297) |
|---|
| Submissão | 21/08/2026 09h27 (há 27 dias) |
|---|
| Moderação | 17/09/2026 10h17 (27 days later) |
|---|
| Estado | Aceite |
|---|
| Entrada VulDB | 406346 [vgmstream até r2117 EA SCHl parser vadpcm_decoder.c vadpcm_read_coefs_be entry/entries Excesso de tampão] |
|---|
| Pontos | 20 |
|---|