| Título | marcobambini gravity v0.9.7 Out-of-bounds Pointer Arithmetic |
|---|
| Descripción | 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) |
|---|
| Fuente | ⚠️ https://github.com/marcobambini/gravity/issues/448 |
|---|
| Usuario | lrrh (UID 100159) |
|---|
| Sumisión | 2026-08-08 09:59 (hace 1 mes) |
|---|
| Moderación | 2026-09-13 11:53 (1 month later) |
|---|
| Estado | Aceptado |
|---|
| Entrada de VulDB | 403268 [marcobambini Gravity hasta 0.9.7 JSON parser src/utils/gravity_json.c desbordamiento de búfer] |
|---|
| Puntos | 20 |
|---|