CVE-2026-33023 in libsixel
Sumário
de VulDB • 24/05/2026
libsixel é uma implementação do codificador/decodificador SIXEL derivada do sixel de kmiya. Nas versões 1.8.7 e anteriores, quando compilado com a opção --with-gdk-pixbuf2, existe uma vulnerabilidade use-after-free em load_with_gdkpixbuf() em loader.c. O caminho de limpeza libera manualmente o objeto sixel_frame_t e seus buffers internos sem consultar a contagem de referências, mesmo que o objeto tenha sido criado via construtor com contagem de referências sixel_frame_new() e exposto ao callback público. Um callback que chama sixel_frame_ref(frame) para reter uma referência logicamente válida manterá um ponteiro pendente após o retorno de sixel_helper_load_image_file(), e qualquer acesso subsequente ao frame ou aos seus campos aciona um use-after-free confirmado pelo AddressSanitizer. A causa raiz é uma falha de consistência entre duas estratégias de limpeza na mesma base de código: sixel_frame_unref() é usado em load_with_builtin(), enquanto free() bruto é usado em load_with_gdkpixbuf(). Um atacante que forneça uma imagem manipulada a qualquer aplicativo compilado contra libsixel com suporte a gdk-pixbuf2 pode acionar isso de forma confiável, potencialmente levando à divulgação de informações, corrupção de memória ou execução de código. Este problema foi corrigido na versão 1.8.7-r1.
If you want to get best quality of vulnerability data, you may have to visit VulDB.