Security vulnerabilities and automated fixes for integer underflow issues
2 posts found
A critical integer underflow vulnerability was discovered in tree-sitter's array.h header file, where the `_array__splice()` function calculated array sizes without proper bounds checking. The vulnerable code relied on assert() statements that are disabled in release builds, allowing arithmetic underflow when `old_count > *size + new_count`, potentially causing memory corruption through out-of-bounds memcpy operations.
A critical memory safety vulnerability was discovered and patched in `src/cache.c`, where an unchecked `memcpy` operation could be exploited via attacker-controlled network responses to cause out-of-bounds memory reads and writes. The root cause — a silent unsigned integer underflow — is a classic but devastatingly dangerous pattern that can lead to remote code execution, data corruption, or application crashes. Understanding this vulnerability is essential for any developer working with low-lev