You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[C++] BufferBuilder integer overflow in size calculations reachable from JSON parsing #49884
Describe the bug, including details regarding any error messages, version, and platform.
Describe the bug
BufferBuilder and TypedBufferBuilder perform unchecked integer arithmetic in size calculations such as:
size_ + additional_bytes
num_elements * sizeof(T)
These operations can overflow, leading to incorrect buffer size calculations.
To Reproduce
The issue can be triggered through JSON parsing, where untrusted input controls array sizes, string lengths, and element counts. These values are propagated to BufferBuilder and TypedBufferBuilder.
Expected behavior
Buffer size calculations should be overflow-safe and reject invalid or excessively large inputs.
Actual behavior
Overflow in size computations may wrap around, resulting in under-allocation of buffers and potential out-of-bounds writes.
Additional context
This affects code paths used by the JSON parser (parser.cc), meaning untrusted input can reach these unsafe operations.
changed the title [-]BufferBuilder integer overflow in size calculations reachable from JSON parsing[/-][+][C++] BufferBuilder integer overflow in size calculations reachable from JSON parsing[/+]on Apr 30, 2026
Activity
[-]BufferBuilder integer overflow in size calculations reachable from JSON parsing[/-][+][C++] BufferBuilder integer overflow in size calculations reachable from JSON parsing[/+]GH-49884: [C++] Fix integer overflow in BufferBuilder reachable from …
pitrou commentedon Nov 10, 2026
Issue resolved by pull request 49883
#49883