Uma vulnerabilidade crítica de estouro de buffer de heap (heap-buffer-overflow) no libheif pode permitir que usuários autenticados do WordPress obtenham execução remota de código (RCE) ao enviar uma imagem HEIC (formato de imagem de alta eficiência) especialmente manipulada pelo fluxo padrão da Biblioteca de Mídia.
O problema, registrado como GHSA-x8r2-mggj-j6wr, afeta o decodificador de imagens não comprimidas (unci) da biblioteca e foi corrigido no libheif 1.23.3.
Em implantações afetadas do WordPress, os arquivos HEIC enviados podem ser repassados do WordPress, pela extensão Imagick do PHP e pelo ImageMagick, até o libheif, onde a análise vulnerável da imagem ocorre dentro do processo de trabalho do PHP-FPM (gerenciador de processos FastCGI do PHP).
A falha existe no caminho de decodificação YCbCr (modelo de cores usado em vídeo e imagens digitais) de interleave misto do libheif. Uma imagem maliciosa pode declarar o componente de croma Cb (azul-diferença) como 16 bits, enquanto declara o Cr (vermelho-diferença) como 8 bits.
Embora o libheif aloque o plano de imagem Cr para um byte por amostra, o código vulnerável usa a largura de dois bytes do componente Cb ao escrever ambos os canais de croma.
Isso cria uma gravação fora dos limites (out-of-bounds) controlada por arquivo, além da alocação de Cr, possibilitando corrupção de heap.
Pesquisadores da Fortbridge demonstraram que a corrupção de memória pode ser encadeada em execução remota de código autenticada em dois ambientes WordPress bastante específicos: Ubuntu 26.04 com WordPress 7.1.1, PHP-FPM 8.5.4, ImageMagick 7.1.2.18 e libheif 1.21.2; e Debian 13 com WordPress 7.0, PHP-FPM 8.4.24, ImageMagick 7.1.1.43 e libheif 1.19.8.
O teste de conceito (proof of concept) executou comandos como a conta www-data do PHP-FPM depois que um Autor do WordPress enviou conteúdo HEIC malicioso.
O ataque exige uma conta autenticada do WordPress com a capacidade upload_files, normalmente um papel de nível Autor ou superior.
No entanto, implantações que permitam envios de visitantes ou exponham a mesma rota de processamento de imagem por meio de plugins podem ampliar o risco, dependendo da configuração.
A cadeia de exploração não depende de um único envio malicioso. Ela primeiro usa imagens HEIC especialmente construídas para vazar informações de endereço a partir de imagens derivadas geradas pelo WordPress.
Essas imagens derivadas podem expor conteúdos da memória por meio de pixels depois que o WordPress processa e recomprime o envio como JPEG.
A Fortbridge afirmou que o componente de divulgação se baseia em outra falha do libheif, a GHSA-2jg2-4ch7-h545, envolvendo leituras e gravações fora dos limites no tratamento de imagens derivadas e planos de pixels.
Esse problema afeta versões até a 1.23.1 e foi corrigido no libheif 1.23.2.
Ao reconstruir os valores vazados a partir dos pixels retornados, a exploração identifica endereços de módulos carregados, incluindo componentes do libc, do libheif e do ImageMagick.
Em seguida, ela seleciona um perfil que corresponda ao sistema operacional, versões de bibliotecas, comportamento do alocador e layout de objetos do servidor-alvo antes de gerar um payload unci ajustado ao ASLR (Address Space Layout Randomization, aleatorização do espaço de endereços).
Esse requisito torna a cadeia publicada altamente específica de ambiente, em vez de universalmente confiável.
Mesmo assim, a pesquisa estabelece que a corrupção controlada de heap em um decodificador de imagens pode ser transformada em execução dentro de fluxos reais do WordPress/PHP-FPM, em vez de causar apenas uma condição de negação de serviço.
Em testes em laboratório, a Fortbridge relatou execução bem-sucedida de comandos em seis de oito execuções recentes de processos pai do PHP-FPM no Ubuntu e em 22 de 24 execuções no Debian.
A descoberta da Fortbridge demonstra como um recurso aparentemente rotineiro da web, como envio de imagens e geração de miniaturas, pode expor aplicações a uma superfície de ataque mais profunda em código nativo.
Vulnerabilidade no libheif
Os pesquisadores usaram técnicas de agendamento de processos de trabalho do PHP-FPM para reservar um worker para divulgação de memória, calibração de heap e o gatilho final.
O resultado é importante porque pilhas de processamento de imagem frequentemente incluem bibliotecas nativas que ficam fora do modelo de ameaças habitual de aplicações web.
O endurecimento tradicional do WordPress, como senhas fortes, aplicação de patches em plugins e gestão de papéis, não protege de forma independente um acesso vulnerável ao ImageMagick ou uma dependência do libheif que processe mídia controlada pelo atacante.
Os mantenedores do libheif classificaram o problema de interleave misto como crítico e pediram que todos os usuários atualizem.
A versão 1.23.3 é compatível em API (interface de programação de aplicações) e ABI (interface binária de aplicações) com a versão 1.23.2, o que a torna uma substituição direta para implantações afetadas.
Os administradores devem atualizar o libheif para a versão 1.23.3 ou posterior, ou instalar o pacote de segurança mais recente fornecido pelo fornecedor que incorpore a correção upstream.
O Debian publicou uma atualização de segurança para sistemas estáveis tratando diversas vulnerabilidades do libheif, incluindo a GHSA-x8r2-mggj-j6wr, na versão 1.23.4-1~deb13u1.
As organizações também devem reiniciar o PHP-FPM após a aplicação do patch, porque processos de trabalho de longa duração podem manter a biblioteca vulnerável na memória.
Onde os envios de HEIC e AVIF (formato de imagem baseado no codec AV1) não forem necessários, os administradores devem desativar ou rejeitar esses formatos antes que a decodificação nativa ocorra.
O processamento de imagens deve ser isolado em um serviço com privilégios mínimos, com acesso de rede restrito, sem segredos de aplicação e com diretórios graváveis rigidamente controlados.
Os defensores devem investigar saídas repetidas de workers do PHP-FPM, erros HTTP 503 durante envios de imagens e arquivos HEIC suspeitos contendo relações de imagem unci, iden, crop, overlay ou grid.
Embora uma falha não comprove a exploração, falhas repetidas durante o processamento de imagens devem ser tratadas como um possível evento de segurança.
Interrompa ameaças cibernéticas antes do impacto com MTTR (tempo médio de resposta a incidentes) 21 minutos mais rápido. Integre o Sandbox da ANYRUN ao seu SOC (centro de operações de segurança).