PT-2026-102644 · Flysystem · Flysystem
CVSS v2.0
4.0
Média
| Vetor | AV:N/AC:L/Au:S/C:N/I:P/A:N |
Nome do Software Vulnerável e Versões Afetadas
Flysystem versões anteriores a 3.35.3
Descrição
Na classe
WhitespacePathNormalizer dentro de src/WhitespacePathNormalizer.php, a função normalizePath() utiliza preg match() com o modificador u para detectar caracteres de controle. Quando um caminho contém caracteres UTF-8 malformados, o preg match() retorna false em vez de 0. Como o código utiliza uma verificação de valor verdadeiro (truthy), ele não distingue entre a ausência de correspondência e um erro do motor de execução, permitindo que caminhos com UTF-8 malformado e caracteres de controle ignorem a exceção CorruptedPathDetected::forPath().Isso permite que o
Filesystem::write() armazene arquivos com nomes maliciosos. Subsequentemente, o Filesystem::listContents() pode retornar sequências de escape ANSI brutas, o que pode levar a listagens de arquivos de terminal ocultas ou falsificadas quando visualizadas por um administrador.Recomendações
Atualize o Flysystem para a versão 3.35.3 ou posterior.
Como mitigação temporária, restrinja o uso da função
normalizePath() ou valide se os caminhos de entrada contêm apenas caracteres UTF-8 válidos antes que sejam processados pela biblioteca.Exploit
Correção
RCE
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Flysystem