Read the docs
TI-2026-21610 Aliases CVE-2026-27168

SAIL: Heap-based Buffer Overflow in Sail-codecs-xwd

Priority HIGH 76CWE-122Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
No fix listed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA. Impact type from CWE-122 and the CVSS impact.

Summary

SAIL is a cross-platform library for loading and saving images with support for animation, metadata, and ICC profiles. All versions are vulnerable to Heap-based Buffer Overflow through the XWD parser's use of the bytes_per_line value. The value os read directly from the file as the read size in io->strict_read(), and is never compared to the actual size of the destination buffer. An attacker can provide an XWD file with an arbitrarily large bytes_per_line, causing a massive write operation beyond the buffer heap allocated for the image pixels. The issue did not have a fix at the time of publication.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00434 37th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
HappySeaFoxsailup to 0.9.10—No fix listedCNA
  • sail VendorHappySeaFox Affected up to 0.9.10 Fixed in — No fix listed CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:sail:sail:*:*:*:*:*:*:*:*up to 0.9.10VulnerableSAIL Image Decoding Library

Remediation

No fixed version listed by the sources yet.

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-27168
  2. 2026-10-06 EPSS moved to the 50th–90th percentile
  3. 2026-10-09 EPSS moved to the below the 50th percentile
  4. 2026-10-18 EPSS moved to the 50th–90th percentile
  5. 2026-10-25 EPSS moved to the below the 50th percentile

References

  • TI-2026-39458 SAIL: Heap out-of-bounds write in SAIL PSD decoder (Bitmap mode ignores depth) CVSS 3.1CRITICAL 9.8
  • TI-2026-39457 SAIL: Heap out-of-bounds write in SAIL TGA decoder (indexed-RLE bpp/stride mismatch) CVSS 3.1CRITICAL 9.8
  • TI-2026-29245 SAIL has heap buffer overflow in TGA RLE decoder — raw packet path missing bounds check CVSS 3.1CRITICAL 9.8
  • TI-2026-29244 SAIL has heap buffer overflow in PSD decoder — bpp mismatch in LAB 16-bit mode CVSS 3.1CRITICAL 9.8
  • TI-2026-29243 SAIL has heap buffer overflow in XWD decoder — bits_per_pixel vs pixmap_depth type confusion in byte-swap CVSS 3.1CRITICAL 9.8
  • TI-2026-39513 SAIL: XBM X10 decoder writes 2 bytes per literal into a 1-byte-per-literal buffer (heap out-of-bounds write) CVSS 3.1HIGH 7.8

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences