PT-2022-4311 · Rust+10 · Rust+10
Florian Weimer
+1
·
Publicado
2022-01-20
·
Atualizado
2025-03-24
·
CVE-2022-21658
CVSS v2.0
10
Alta
| Vetor | AV:N/AC:L/Au:N/C:C/I:C/A:C |
Nome do software vulnerável e versões afetadas
Versões do Rust 1.0.0 a 1.58.0
Descrição
A função da biblioteca padrão
std::fs::remove dir all no Rust está vulnerável a uma condição de corrida que permite o rastreamento de links simbólicos. Essa vulnerabilidade permite que um invasor induza um programa com privilégios a excluir arquivos e diretórios aos quais o invasor não teria acesso ou não poderia excluir de outra forma. A vulnerabilidade é particularmente perigosa quando o aplicativo afetado é executado com privilégios elevados, pois pode levar à exclusão de arquivos importantes do sistema.Recomendações
Para resolver o problema, atualize para o Rust 1.58.1 o mais rápido possível, especialmente se você estiver desenvolvendo programas que devem ser executados em contextos privilegiados, incluindo daemons do sistema e binários setuid. Para alvos de compilação que não possuem APIs utilizáveis para mitigar adequadamente o ataque, como o macOS anterior à versão 10.10 (Yosemite) e o REDOX, considere estratégias alternativas de mitigação, mas observe que, mesmo com uma cadeia de ferramentas corrigida, esses alvos ainda estão vulneráveis. Como solução temporária, considere evitar o uso da função
std::fs::remove dir all em contextos privilegiados até que o problema seja totalmente resolvido.Exploit
Correção
Race Condition
Time Of Check To Time Of Use
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Alt Linux
Almalinux
Astra Linux
Centos
Debian
Apple Macos
Red Hat
Red Os
Rocky Linux
Rust
Suse