Arbitrary file permission modification during extraction via vulnerable `tar` dependency (CVE-2026-33056) <br />
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Inizia da Cargo.toml e ispeziona la dipendenza tar bloccata utilizzata da python_distribution_extract() per l’estrazione dell’archivio. Aggiorna la dipendenza alla versione 0.4.45 o successiva, quindi esegui la riproduzione malevola .tar.zst fornita e conferma che /tmp/victim rimanga con la modalità 700 invece di cambiare a 777.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Error Description:
We discovered that PyOxidizer relies on an outdated tar crate (0.4.43) which is vulnerable to CVE-2026-33056. This vulnerability exists in tar versions < 0.4.45. When PyOxidizer extracts a Python distribution archive (e.g., via python_distribution_extract()), a maliciously crafted .tar.zst file can bypass intended extraction directory boundaries and arbitrarily modify the permissions of external directories on the host filesystem.
Reproduction Steps:
- Create an external target directory on the host system with restricted permissions:
mkdir /tmp/victim && chmod 700 /tmp/victim. - Craft a malicious
.tar.zstarchive (evil.tar.zst) that contains a directory entry pointing to../../../../tmp/victimwith0777permissions in its header. - Run
PyOxidizer(or a script callingpython_distribution_extract()) to extractevil.tar.zstinto a local destination folder. - Check the permissions of the external
/tmp/victimdirectory:stat -c "%a" /tmp/victim.
Observable Evidence / Impact:
The extraction succeeds without throwing any path-traversal or permission errors. However, the permissions of the external /tmp/victim directory are silently escalated.
project=PyOxidizer
archive=evil.tar.zst
mode_before=700
extract_ok=true
mode_after=777
Suggested Mitigation:
Please update the tar dependency in Cargo.toml to >= 0.4.45.
- Lingua principale
- Rust
- Stelle
- 6.2k
- Fork
- 256
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di indygreg/PyOxidizer
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
indygreg/PyOxidizer#769 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
indygreg/PyOxidizer#766 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
indygreg/PyOxidizer#764 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
indygreg/PyOxidizer#763 · 1 commento ·
-
Not working at all on MacAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
indygreg/PyOxidizer#761 · 2 commenti ·
Tutte le issue di indygreg/PyOxidizer
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
calcit-lang/calcit#2538 ·
I maintainer di solito rispondono entro 1 giorno
-
Remove the em dashes from the skill smart-account referenceForse già presa @Vamsi-2581 l’ha presa oggi. Apertaagent-ready area: docs documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
Soneso/stellar-agent-wallet#541 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
bovinemagnet/AdocFoundry#279 ·
I maintainer di solito rispondono entro 1 giorno
-
help wanted
Difficoltà 1/5 Mezza giornata Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
weihubeats/Miyo#132 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni