CVE-2022-21658
Race condition in std::fs::remove_dir_all in rustlang
- Veröffentlicht
- 20.01.2022
- Aktualisiert
- 22.04.2025
- CNA zuweisen
- GitHub_M
- Beweise beobachtet
- 04.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:HNiedrig · nächste 30 Tage
- Perzentil
- 71,5 %
- Modelldatum
- 15.10.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
Rust ist eine Multi-Paradigma-Programmiersprache für allgemeine Zwecke, die für Leistung und Sicherheit entwickelt wurde, insbesondere für sichere Nebenläufigkeit. Die Rust Security Response WG wurde darüber informiert, dass die Standardbibliotheksfunktion `std::fs::remove_dir_all` anfällig für eine Race Condition ist, die das Folgen von Symlinks ermöglicht (CWE-363). Ein Angreifer könnte dieses Sicherheitsproblem ausnutzen, um ein privilegiertes Programm dazu zu bringen, Dateien und Verzeichnisse zu löschen, auf die der Angreifer andernfalls nicht zugreifen oder die er nicht löschen könnte. Rust 1.0.0 bis Rust 1.58.0 sind von dieser Schwachstelle betroffen, wobei 1.58.1 einen Patch enthält. Beachten Sie, dass die folgenden Build-Ziele keine nutzbaren APIs haben, um den Angriff angemessen zu entschärfen, und daher selbst mit einem gepatchten Toolchain weiterhin anfällig sind: macOS vor Version 10.10 (Yosemite) und REDOX. Wir empfehlen allen, so schnell wie möglich auf Rust 1.58.1 zu aktualisieren, insbesondere Personen, die Programme entwickeln, die in privilegierten Kontexten ausgeführt werden sollen (einschließlich System-Daemons und setuid-Binärdateien), da diese das höchste Risiko haben, davon betroffen zu sein. Beachten Sie, dass das Hinzufügen von Prüfungen in Ihrer Codebasis vor dem Aufruf von `remove_dir_all` die Schwachstelle nicht entschärft, da diese ebenfalls anfällig für Race Conditions wären wie `remove_dir_all` selbst. Die bestehende Entschärfung funktioniert außerhalb von Race Conditions wie vorgesehen.
Quellen
POC für cve-2022-21658
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.