PT-2026-47606 · Phpoffice+2 · Phpspreadsheet+1
CVSS v4.0
9.2
Crítica
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
PhpSpreadsheet versões anteriores a 1.30.5
Descrição
Existe um problema na função
File::prohibitWrappers() onde o uso de parse url() para detectar wrappers de fluxo (stream wrappers) pode ser burlado. Quando uma entrada contém três ou mais barras após o esquema (ex: phar:///path/file.phar/inner), o parse url() retorna um booleano false em vez da string do esquema, permitindo que a verificação seja ignorada. Isso possibilita que a função IOFactory::load() processe wrappers phar.No PHP 7.x, isso pode levar à execução remota de código (RCE) porque o sistema desserializa automaticamente os metadados do phar via
is file, acionando os métodos mágicos wakeup() e destruct() de objetos controlados por um invasor. No PHP 8.x, o impacto é reduzido a uma primitiva de leitura de arquivo de wrapper phar, pois a desserialização automática de metadados foi removida; o RCE ocorreria apenas se o consumidor downstream chamasse Phar::getMetadata().Recomendações
Atualize para a versão 1.30.5 ou superior.
Como medida paliativa temporária, restrinja o uso da função
IOFactory::load() com entradas não confiáveis para evitar o processamento de wrappers phar maliciosos.Exploit
Correção
Deserialization of Untrusted Data
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Phpspreadsheet
Phpoffice Phpspreadsheet