PT-2026-33550 · Npm · Compressing
CVE-2026-40931
·
Publicado
2026-04-17
·
Atualizado
2026-06-02
CVSS v3.1
8.4
Alta
| Vetor | AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
compressing versões anteriores a 1.10.5
compressing versões anteriores a 2.1.1
Description
Existe uma falha de bypass em uma correção parcial na biblioteca Node.js
compressing. A função isPathWithinParent() em lib/utils.js baseia-se em uma validação lógica de string usando path.resolve() para verificar se um caminho resolvido começa com o diretório de destino. No entanto, ela não considera o estado real do sistema de arquivos, criando uma divergência entre o caminho lógico e o caminho físico. Um invasor pode explorar isso usando uma técnica de Envenenamento de Diretório (Directory Poisoning) com links simbólicos pré-existentes. Por exemplo, se um link simbólico for plantado no diretório de destino apontando para uma área sensível do sistema, a biblioteca pode validar o caminho como seguro enquanto o sistema operacional segue o link para gravar arquivos fora da raiz de extração pretendida. Isso pode levar a gravações arbitrárias de arquivos, resultando potencialmente em escalonamento de privilégios ou execução remota de código ao sobrescrever arquivos de configuração ou binários do sistema. Um vetor de ataque principal é a cadeia de suprimentos via Git clone, já que o Git preserva links simbólicos durante o processo de clonagem, implantando automaticamente o link malicioso na máquina da vítima.Recommendations
Atualize para a versão 1.10.5 ou posterior.
Atualize para a versão 2.1.1 ou posterior.
Como medida paliativa temporária, restrinja o uso da função
isPathWithinParent() ou evite extrair arquivos não confiáveis em diretórios onde links simbólicos possam já existir.Exploit
Correção
Link Following
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Compressing