| 标题 | marcobambini gravity v0.9.7 Out-of-Bounds Read |
|---|
| 描述 | parse_number_expression in src/compiler/gravity_parser.c checks whether a number literal uses a 0b/0o/0x prefix by testing value[0]=='0' and then unconditionally executing toupper(value[1]). When the number token is the single character '0' located at the very last byte of the source buffer (e.g. a file ending in = 0), value[1] points one byte past the end of the input, triggering a deterministic 1-byte heap out-of-bounds read.
Affected versions: Gravity v0.9.7 / HEAD 17a280b83c10424597bf4d130d208b72de731c2a
Severity: Medium (deterministic 1-byte heap OOB read; crash under ASan; possible 1-byte heap/redzone leak in exact-size production buffers)
CWE: CWE-125 (Out-of-bounds Read) |
|---|
| 来源 | ⚠️ https://github.com/marcobambini/gravity/issues/446 |
|---|
| 用户 | lrrh (UID 100159) |
|---|
| 提交 | 2026-08-08 10時03分 (1 月前) |
|---|
| 管理 | 2026-09-13 11時53分 (1 month later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 403270 [marcobambini Gravity 直到 0.9.7 Number Parser gravity_parser.c parse_number_expression 信息公开] |
|---|
| 积分 | 20 |
|---|