Critical severity · published Apr 18, 2026
CVE-2026-40492
SAIL has heap buffer overflow in XWD decoder — bits_per_pixel vs pixmap_depth type confusion in byte-swap
9.8
CVSS
0.4%
EPSS
No
On KEV
Description
SAIL is a cross-platform library for loading and saving images with support for animation, metadata, and ICC profiles. Prior to commit 36aa5c7ec8a2bb35f6fb867a1177a6f141156b02, the XWD codec resolves pixel format based on `pixmap_depth` but the byte-swap code uses `bits_per_pixel` independently. When `pixmap_depth=8` (BPP8_INDEXED, 1 byte/pixel buffer) but `bits_per_pixel=32`, the byte-swap loop accesses memory as `uint32_t*`, reading/writing 4x the allocated buffer size. This is a different vulnerability from the previously reported GHSA-3g38-x2pj-mv55 (CVE-2026-27168), which addressed `bytes_per_line` validation. Commit 36aa5c7ec8a2bb35f6fb867a1177a6f141156b02 contains a patch.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 35% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
SA
sail · HappySeaFox
< 36aa5c7ec8a2bb35f6fb867a1177a6f141156b02 · source: vendor
Affected product
SA
sail
HappySeaFox
More from sail
9.8
CVE-2026-54627
SAIL: Heap out-of-bounds write in SAIL PSD decoder (Bitmap mode ignores depth)
9.8
CVE-2026-54626
SAIL: Heap out-of-bounds write in SAIL TGA decoder (indexed-RLE bpp/stride mismatch)
9.8
CVE-2026-40494
SAIL has heap buffer overflow in TGA RLE decoder — raw packet path missing bounds check
9.8
CVE-2026-40493
SAIL has heap buffer overflow in PSD decoder — bpp mismatch in LAB 16-bit mode
9.8
CVE-2026-27168
SAIL: Heap-based Buffer Overflow in Sail-codecs-xwd