| Título | vgmstream r2117 Divide by Zero |
|---|
| Descrição | vgmstream contains a CWE-369 vulnerability in decode_ms_ima() in src/coding/ima_decoder.c. The Microsoft IMA decoder derives block_samples from attacker-controlled channel count and frame size values and then immediately computes first_sample % block_samples. The current code does not reject non-positive frame_channels or non-positive derived block_samples before the modulo operation. A malformed RIFF/WAVE file can therefore trigger a divide-by-zero exception during Microsoft IMA ADPCM decoding, terminating 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: ms-ima:nonpositive-derived-block-samples-used-as-modulo-divisor
CWE: CWE-369
CVSS v3.1 draft: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H |
|---|
| Fonte | ⚠️ https://github.com/vgmstream/vgmstream/issues/1999 |
|---|
| Utilizador | ni-liao (UID 98297) |
|---|
| Submissão | 13/09/2026 16h31 (há 22 dias) |
|---|
| Moderação | 04/10/2026 19h37 (21 days later) |
|---|
| Estado | Aceite |
|---|
| Entrada VulDB | 413457 [vgmstream até r2117 Microsoft IMA Decoder src/coding/ima_decoder.c decode_ms_ima Negação de Serviço] |
|---|
| Pontos | 20 |
|---|