| 标题 | vgmstream r2117 Divide by Zero |
|---|
| 描述 | 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 |
|---|
| 来源 | ⚠️ https://github.com/vgmstream/vgmstream/issues/1999 |
|---|
| 用户 | ni-liao (UID 98297) |
|---|
| 提交 | 2026-09-13 16時31分 (22 日前) |
|---|
| 管理 | 2026-10-04 19時37分 (21 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 413457 [vgmstream 直到 r2117 Microsoft IMA Decoder src/coding/ima_decoder.c decode_ms_ima 拒绝服务] |
|---|
| 积分 | 20 |
|---|