CVE-2026-33023

Source
https://cve.org/CVERecord?id=CVE-2026-33023
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-33023.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-33023
Aliases
  • GHSA-hr25-g2j6-qjw6
Downstream
Published
2026-04-14T22:05:31.493Z
Modified
2026-07-08T08:12:26.905485872Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H CVSS Calculator
Summary
libsixel: Use-after-free in load_with_gdkpixbuf()
Details

libsixel is a SIXEL encoder/decoder implementation derived from kmiya's sixel. In versions 1.8.7 and prior, when built with the --with-gdk-pixbuf2 option, a use-after-free vulnerability exists in loadwithgdkpixbuf() in loader.c. The cleanup path manually frees the sixelframet object and its internal buffers without consulting the reference count, even though the object was created via the refcounted constructor sixelframenew() and exposed to the public callback. A callback that calls sixelframeref(frame) to retain a logically valid reference will hold a dangling pointer after sixelhelperloadimagefile() returns, and any subsequent access to the frame or its fields triggers a use-after-free confirmed by AddressSanitizer. The root cause is a consistency failure between two cleanup strategies in the same codebase: sixelframeunref() is used in loadwithbuiltin() but raw free() is used in loadwithgdkpixbuf(). An attacker supplying a crafted image to any application built against libsixel with gdk-pixbuf2 support can trigger this reliably, potentially leading to information disclosure, memory corruption, or code execution. This issue has been fixed in version 1.8.7-r1.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/33xxx/CVE-2026-33023.json",
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-416"
    ]
}
References

Affected packages

Git / github.com/saitoha/libsixel

Affected ranges

Type
GIT
Repo
https://github.com/saitoha/libsixel
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "source": [
        "CPE_RANGE",
        "REFERENCES"
    ],
    "cpe": "cpe:2.3:a:saitoha:libsixel:*:*:*:*:*:*:*:*",
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "last_affected": "1.8.7"
        }
    ]
}

Affected versions

Other
nightly-latest
v0.*
v0.14.0
v0.15.0
v0.16.0
v0.16.1
v0.17.0
v0.17.1
v0.17.2
v0.18.0
v0.19.2
v0.19.3
v0.19.4
v0.19.5
v0.19.6
v0.20.0
v0.21.0
v0.21.1
v0.22.0
v0.22.1
v0.22.2
v0.22.3
v0.23.0
v0.23.1
v0.23.2
v0.24.0
v0.24.2
v0.25.0
v0.25.1
v0.25.2
v0.25.3
v0.25.4
v0.25.5
v0.26.0
v0.27.0
v0.27.1
v0.28.0
v1.*
v1.0.0
v1.0.1
v1.0.2
v1.1.0
v1.1.1
v1.1.2
v1.3.1
v1.3.2
v1.3.3
v1.3.4
v1.3.5
v1.3.6
v1.4.0
v1.4.1
v1.4.10
v1.4.11
v1.4.12
v1.4.13
v1.4.2
v1.4.3
v1.4.4
v1.4.5
v1.4.6
v1.4.7
v1.4.8
v1.4.9
v1.5.0
v1.5.1
v1.5.2
v1.6.1
v1.7.1
v1.7.2
v1.7.3
v1.8.0
v1.8.1
v1.8.2
v1.8.3
v1.8.4
v1.8.5
v1.8.6
v1.8.7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-33023.json"