Libsixel Use-After-Free: Crafted Images Lead to RCE

Libsixel Use-After-Free: Crafted Images Lead to RCE

The National Vulnerability Database (NVD) has documented a high-severity use-after-free vulnerability, CVE-2026-33023, impacting libsixel versions 1.8.7 and earlier. This library, a SIXEL encoder/decoder implementation, exhibits the flaw specifically when compiled with the --with-gdk-pixbuf2 option. The core issue lies within the load_with_gdkpixbuf() function in loader.c, where a sixel_frame_t object and its internal buffers are manually freed without proper reference counting, despite being created with a refcounted constructor.

This inconsistency creates a dangling pointer if a callback retains a logical reference to the sixel_frame_t object after sixel_helper_load_image_file() returns. Any subsequent access to this freed memory triggers a use-after-free condition, confirmed by AddressSanitizer. The NVD notes that the root cause is a divergence in cleanup strategies; sixel_frame_unref() is used in load_with_builtin(), but a raw free() is employed in the vulnerable load_with_gdkpixbuf() path. An attacker can reliably exploit this by supplying a specially crafted image to any application linked against libsixel with gdk-pixbuf2 support. The potential fallout includes information disclosure, memory corruption, or even remote code execution. The NVD confirms this issue has been addressed in version 1.8.7-r1.

Related ATT&CK Techniques

🛡️ Detection Rules

5 rules · 5 SIEM formats

5 auto-generated detection rules for this incident, mapped to MITRE ATT&CK. Available in Sigma, Splunk SPL, Sentinel KQL, Elastic Lucene, and QRadar AQL.

high T1190 Initial Access

Web Application Exploitation Attempt — CVE-2026-33023

Sigma Splunk SPL Sentinel KQL Elastic QRadar AQL

Get this rule in your SIEM's native format — copy, paste, detect. No manual conversion.

5 Sigma rules mapped to the ATT&CK techniques from this breach — pick your SIEM and get a ready-to-paste query.

Get Detection Rules →

Indicators of Compromise

IDTypeIndicator
CVE-2026-33023 Use After Free libsixel versions 1.8.7 and prior
CVE-2026-33023 Use After Free libsixel built with --with-gdk-pixbuf2 option
CVE-2026-33023 Use After Free Vulnerable function: load_with_gdkpixbuf() in loader.c
CVE-2026-33023 Memory Corruption libsixel versions 1.8.7 and prior
CVE-2026-33023 Information Disclosure libsixel versions 1.8.7 and prior

Related Posts

Critical RCE Flaw Hits NuGet Gallery Backend

CVE-2026-39399 — NuGet Gallery is a package repository that powers nuget.org. A security vulnerability exists in the NuGetGallery backend job’s handling of .nuspec files within...

vulnerabilityCVEcriticalhigh-severityremote-code-executioncwe-20cwe-22
/CRITICAL /⚑ 4 IOCs

BoidCMS LFI to RCE: A Critical Template Flaw

CVE-2026-39387 — BoidCMS is an open-source, PHP-based flat-file CMS for building simple websites and blogs, using JSON as its database. Versions prior to 2.1.3 are...

vulnerabilityCVEhigh-severityremote-code-executioncwe-98
/HIGH /⚑ 4 IOCs

Nanobot AI: WebSocket Hijack Puts WhatsApp Sessions at Risk

CVE-2026-35589 — nanobot is a personal AI assistant. Versions prior to 0.1.5 contain a Cross-Site WebSocket Hijacking (CSWSH) vulnerability exists in the bridge's WebSocket server...

vulnerabilityCVEhigh-severitycwe-1385
/HIGH /⚑ 5 IOCs