Vulnerability · Published Apr 18, 2026 · Assigned by GitHub_M
CVE-2026-40493SAIL has heap buffer overflow in PSD decoder — bpp mismatch in LAB 16-bit mode
Critical 9.8
In plain English
A critical-severity out-of-bounds write in sail from HappySeaFox. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 31% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
SAIL is a cross-platform library for loading and saving images with support for animation, metadata, and ICC profiles. Prior to commit c930284445ea3ff94451ccd7a57c999eca3bc979, the PSD codec computes bytes-per-pixel (`bpp`) from raw header fields `channels * depth`, but the pixel buffer is allocated based on the resolved pixel format. For LAB mode with `channels=3, depth=16`, `bpp = (3*16+7)/8 = 6`, but the format `BPP40_CIE_LAB` allocates only 5 bytes per pixel. Every pixel write overshoots, causing a deterministic heap buffer overflow on every row. Commit c930284445ea3ff94451ccd7a57c999eca3bc979 contains a patch.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:13 | sail | no fix listed | DEBIAN-CVE-2026-40493 |
| Debian:14 | sail | 0.9.10-2 | DEBIAN-CVE-2026-40493 |
| Ubuntu:24.04:LTS | sail | no fix listed | UBUNTU-CVE-2026-40493 |
| Ubuntu:25.10 | sail | no fix listed | UBUNTU-CVE-2026-40493 |
| Ubuntu:26.04:LTS | sail | no fix listed | UBUNTU-CVE-2026-40493 |
| Ubuntu:26.10 | sail | no fix listed | UBUNTU-CVE-2026-40493 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| HappySeaFox | sail | < c930284445ea3ff94451ccd7a57c999eca3bc979 |
Weakness: CWE-787 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H