| タイトル | 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 月 ago) |
|---|
| モデレーション | 2026年09月13日 11:53 (1 month later) |
|---|
| ステータス | 承諾済み |
|---|
| VulDBエントリ | 403269 [marcobambini Gravity 迄 0.9.7 udp json-parser src/utils/gravity_json.c メモリ破損] |
|---|
| ポイント | 20 |
|---|