CVE-2026-40492: C Bits Per Pixel Header Field Drives Wider Integer Cast

Branching on a raw parsed-header field `bits_per_pixel` to cast a pixel/scanline buffer to a wider integer type (uint16_t*/uint32_t*) is unsafe when that buffer's size/stride was derived from an independently resolved pixel format. If the header value disagrees with the resolved bits-per-pixel, the byte-swap loop will read/write past the allocated buffer (he

Provally CuratedPublic repositoryHighMedium confidenceVerifiedApache-2.0C
greprules fetch cve-2026-40492-c-bits-per-pixel-header-field-drives-wider-integer-cast --engine opengrep

Description

Branching on a raw parsed-header field `bits_per_pixel` to cast a pixel/scanline buffer to a wider integer type (uint16_t*/uint32_t*) is unsafe when that buffer's size/stride was derived from an independently resolved pixel format. If the header value disagrees with the resolved bits-per-pixel, the byte-swap loop will read/write past the allocated buffer (he