CVE-2022-21658
Condizione di gara in std::fs::remove_dir_all in rustlang
- Pubblicato
- 20 gen 2022
- Aggiornato
- 22 apr 2025
- Assegnazione CNA
- GitHub_M
- Evidenza osservata
- 4 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:HBasso · prossimi 30 giorni
- Percentile
- 70,4%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
Rust è un linguaggio di programmazione multi-paradigma e general-purpose progettato per prestazioni e sicurezza, in particolare per la concorrenza sicura. Il Rust Security Response WG è stato informato che la funzione della libreria standard `std::fs::remove_dir_all` è vulnerabile a una condizione di gara che consente il symlink following (CWE-363). Un attaccante potrebbe sfruttare questo problema di sicurezza per indurre un programma privilegiato a eliminare file e directory a cui l'attaccante non potrebbe altrimenti accedere o che non potrebbe eliminare. Rust 1.0.0 fino a Rust 1.58.0 è interessato da questa vulnerabilità, con la 1.58.1 che contiene una patch. Si noti che i seguenti target di build non dispongono di API utilizzabili per mitigare adeguatamente l'attacco e sono quindi ancora vulnerabili anche con una toolchain patchata: macOS precedente alla versione 10.10 (Yosemite) e REDOX. Raccomandiamo a tutti di aggiornare a Rust 1.58.1 il prima possibile, in particolare a chi sviluppa programmi destinati a essere eseguiti in contesti privilegiati (inclusi daemon di sistema e binari setuid), poiché questi hanno il rischio più alto di essere interessati da questo problema. Si noti che aggiungere controlli nel proprio codebase prima di chiamare remove_dir_all non mitiga la vulnerabilità, poiché anche questi sarebbero vulnerabili a condizioni di gara come remove_dir_all stesso. La mitigazione esistente funziona come previsto al di fuori delle condizioni di gara.
Fonti
1POC per cve-2022-21658
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.