提交 #919185: marcobambini gravity v0.9.7 Out-of-bounds Pointer Arithmetic信息

标题marcobambini gravity v0.9.7 Out-of-bounds Pointer Arithmetic
描述The recursive-descent JSON parser scans its input with for (state.ptr = json; ; ++state.ptr) (src/utils/gravity_json.c:640) and performs an unconditional post-increment at the end of every iteration. When the input is malformed and the parser is still in a scanning state at the end of the buffer (e.g. an unterminated string/comment or a truncated literal), the end-of-buffer guard makes b read as 0 but the loop still runs ++state.ptr, advancing the pointer past the one-past-the-end pointer of the array. Forming that out-of-range pointer is itself undefined behavior, which UBSan's pointer-overflow check reports as pointer arithmetic overflowed bounds. Affected versions: Gravity v0.9.7 / HEAD 17a280b83c10424597bf4d130d208b72de731c2a Severity: Medium (undefined pointer arithmetic; mis-scans memory; SIGILL DoS in UBSan builds) CWE: CWE-119 (Improper Restriction of Operations within the Bounds of a Memory Buffer)
来源⚠️ https://github.com/marcobambini/gravity/issues/448
用户
 lrrh (UID 100159)
提交2026-08-08 09時59分 (1 月前)
管理2026-09-13 11時53分 (1 month later)
状态已接受
VulDB条目403268 [marcobambini Gravity 直到 0.9.7 JSON parser src/utils/gravity_json.c 内存损坏]
积分20

Do you need the next level of professionalism?

Upgrade your account now!