p PatchFirst

CVE-2026-33023

CVE-2026-33023 · libsixel: Use-after-free in load_with_gdkpixbuf()

Esta página presenta datos de fuentes públicas de vulnerabilidades. Consulta el aviso original antes de actualizar.

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 load_with_gdkpixbuf() in loader.c. The cleanup path manually frees the sixel_frame_t object and its internal buffers without consulting the reference count, even though the object was created via the refcounted constructor sixel_frame_new() and exposed to the public callback. A callback that calls sixel_frame_ref(frame) to retain a logically valid reference will hold a dangling pointer after sixel_helper_load_image_file() 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: sixel_frame_unref() is used in load_with_builtin() but raw free() is used in load_with_gdkpixbuf(). 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.

CVSS 7.8 · Alta · EPSS 0,3% · Corrección disponible

Publicación
Actualización

Pila tecnológica: system

Productos y versiones afectados

  • libsixel

    Versiones
    • < 1.8.7-r1: Afectada

    Sin corrección publicada

  • libsixel Debian:12

    Versiones
    • 1.10.3-3
    • 1.10.5-1
    • 1:1.8.7-1
    • 1:1.8.7-2
    • 1:1.8.7-3
    • 1:1.8.7-4
    • 1:1.8.7-5
    • 1:1.8.7-6
    • 1:1.8.7-r2-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • libsixel Debian:13

    Versiones
    • 1.10.5-1
    • 1:1.8.7-1
    • 1:1.8.7-2
    • 1:1.8.7-3
    • 1:1.8.7-4
    • 1:1.8.7-5
    • 1:1.8.7-6
    • 1:1.8.7-r2-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • libsixel Debian:14

    Versiones
    • 1.10.5-1
    • 1:1.8.7-1
    • 1:1.8.7-2
    • 1:1.8.7-3
    • 1:1.8.7-4
    • 1:1.8.7-5
    • 1:1.8.7-6
    Intervalos de versiones afectados
    • ECOSYSTEM: < 1:1.8.7-r2-1

    Actualiza a 1:1.8.7-r2-1

  • libsixel Ubuntu:16.04:LTS

    Versiones
    • 1.4.2-1
    • 1.5.2-2
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • libsixel Ubuntu:18.04:LTS

    Versiones
    • 1.5.2-2
    • 1.7.3-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • libsixel Ubuntu:20.04:LTS

    Versiones
    • 1.8.2-1
    • 1.8.2-2.1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • libsixel Ubuntu:22.04:LTS

    Versiones
    • 1.8.6-2
    • 1.10.3-2
    • 1.10.3-3
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • libsixel Ubuntu:24.04:LTS

    Versiones
    • 1.10.3-3
    • 1.10.3-3build1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • libsixel Ubuntu:25.10

    Versiones
    • 1.10.5-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • libsixel Ubuntu:26.10

    Versiones
    • 1.10.5-1build1
    • 1:1.8.7-r2-1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

  • libsixel Ubuntu:26.04:LTS

    Versiones
    • 1.10.5-1
    • 1.10.5-1build1
    Intervalos de versiones afectados
    • ECOSYSTEM: (−∞, +∞)

    Sin corrección publicada

Fuentes originales

Comprueba tu servidor →