Vulnerability · Published Apr 18, 2026 · Assigned by GitHub_M
CVE-2026-40494SAIL has heap buffer overflow in TGA RLE decoder — raw packet path missing bounds check
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.3% (higher than 27% 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 45d48d1f2e8e0d73e80bc1fd5310cb57f4547302, the TGA codec's RLE decoder in `tga.c` has an asymmetric bounds check vulnerability. The run-packet path (line 297) correctly clamps the repeat count to the remaining buffer space, but the raw-packet path (line 305-311) has no equivalent bounds check. This allows writing up to 496 bytes of attacker-controlled data past the end of a heap buffer. Commit 45d48d1f2e8e0d73e80bc1fd5310cb57f4547302 patches the issue.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:13 | sail | no fix listed | DEBIAN-CVE-2026-40494 |
| Debian:14 | sail | 0.9.10-2 | DEBIAN-CVE-2026-40494 |
| Ubuntu:24.04:LTS | sail | no fix listed | UBUNTU-CVE-2026-40494 |
| Ubuntu:25.10 | sail | no fix listed | UBUNTU-CVE-2026-40494 |
| Ubuntu:26.04:LTS | sail | no fix listed | UBUNTU-CVE-2026-40494 |
| Ubuntu:26.10 | sail | no fix listed | UBUNTU-CVE-2026-40494 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| HappySeaFox | sail | < 45d48d1f2e8e0d73e80bc1fd5310cb57f4547302 |
Weakness: CWE-787 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H