| 标题 | marcobambini gravity v0.9.7 Heap-based Buffer Overflow |
|---|
| 描述 | The vendored udp/json-parser decodes integer tokens digit-by-digit with the accumulator top->u.integer = (top->u.integer * 10) + (b - '0') (src/utils/gravity_json.c:1126). Any JSON input containing an integer literal with more than 19 significant decimal digits (e.g. twenty 2s or twenty 9s) makes this signed 64-bit multiplication overflow, which is undefined behavior. In a build with -fsanitize=undefined -fno-sanitize-recover=all, UBSan detects integer multiplication overflowed and traps with SIGILL.
Affected versions: Gravity v0.9.7 / HEAD 17a280b83c10424597bf4d130d208b72de731c2a
Severity: Medium (wrong value / data corruption; SIGILL DoS in UBSan builds)
CWE: CWE-190 (Integer Overflow) |
|---|
| 来源 | ⚠️ https://github.com/marcobambini/gravity/issues/447 |
|---|
| 用户 | lrrh (UID 100159) |
|---|
| 提交 | 2026-08-08 10時00分 (1 月前) |
|---|
| 管理 | 2026-09-13 11時53分 (1 month later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 403269 [marcobambini Gravity 直到 0.9.7 udp json-parser src/utils/gravity_json.c 内存损坏] |
|---|
| 积分 | 20 |
|---|