libsixel is a SIXEL encoder/decoder implementation derived from kmiya's sixel. From to 1.8.7-r1, a wrong NULL check after an allocation call in sixel_decode_raw and sixel_decode causes a NULL pointer dereference whenever the allocation fails. The check tests the address of the output parameter (always non-NULL) instead of the value the malloc returned. On allocation failure, the function continues and writes through a NULL pointer, crashing the process. This is a denial of service against any caller of these public APIs that hits a low-memory condition. This vulnerability is fixed in 1.8.7-r2.
Fix
Patch, vendor advisory and mitigation references on NVD 2
- https://github.com/saitoha/libsixel/security/advisories/GHSA-wpx3-h5g8-qr3w Exploit, Vendor Advisory
- https://github.com/saitoha/libsixel/security/advisories/GHSA-wpx3-h5g8-qr3w Exploit, Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 2.5 · saitohaNVD modified 2026-10-26 14:10
Affected (CPE criteria) 1
cpe:2.3:a:saitoha:libsixel:*:*:*:*:*:*:*:*
References 2
- https://github.com/saitoha/libsixel/security/advisories/GHSA-wpx3-h5g8-qr3w Exploit, Vendor Advisory
- https://github.com/saitoha/libsixel/security/advisories/GHSA-wpx3-h5g8-qr3w Exploit, Vendor Advisory