CVE-2026-26981: Size Clamping Integer Underflow

An improper bounds check clamps a buffer size or length by subtracting the end index ($X) from the limit ($LIMIT) when $X > $LIMIT. This results in a negative value that, if cast to an unsigned size, causes an integer underflow and massive out-of-bounds reads or writes. To fix this, clamp by subtracting the start index from the limit (e.g., $LIMIT - $START).

Provally CuratedPublic repositoryHighMedium confidenceVerifiedApache-2.0C++
greprules fetch cve-2026-26981-size-clamping-integer-underflow --engine opengrep

Description

An improper bounds check clamps a buffer size or length by subtracting the end index ($X) from the limit ($LIMIT) when $X > $LIMIT. This results in a negative value that, if cast to an unsigned size, causes an integer underflow and massive out-of-bounds reads or writes. To fix this, clamp by subtracting the start index from the limit (e.g., $LIMIT - $START).