CVE 9.8 CRITICAL

SAIL has heap buffer overflow in XWD decoder — bits_per_pixel vs pixmap_depth type confusion in byte-swap_CVE-2026-40492

9.8 / 10
CRITICAL
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

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.

AI Analysis

Heap buffer overflow in XWD decoder due to type confusion between bits_per_pixel and pixmap_depth

Basic Information

ID CVE-2026-40492
Source GitHub_M
Published Apr 18, 2026 at 01:39

Affected Product

Vendor HappySeaFox
Product sail
Version < 36aa5c7ec8a2bb35f6fb867a1177a6f141156b02
Affected Versions HappySeaFox sail < 36aa5c7ec8a2bb35f6fb867a1177a6f141156b02

CWE Classification

AI Assessment

AI Score 9.8 / 10
AI Severity Critical
Vendor HappySeaFox
Product SAIL
Version < 36aa5c7ec8a2bb35f6fb867a1177a6f141156b02

References

💭 Join the Security Discussion

🔒 Your email address will not be published. Required fields are marked *

⚠️ Please be respectful and constructive in your comments. Security discussions should remain professional.