Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2022-21668-Pipenv-RCE-vulnerability | Kitploit
Strumenti/GitHubGitHub/sreeram281997/cve-2022-21668-pipenv-rce-vulnerability
Analisi delle VulnerabilitàExploitSicurezza WebSicurezza della Supply ChainPaper e RicercaApprendimento e Formazione
GitHubsreeram281997/cve-2022-21668-pipenv-rce-vulnerability

CVE-2022-21668-Pipenv-RCE-vulnerability

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
114 anni faNon ancora revisionato

CVE-2022-21668-Pipenv-RCE-vulnerability

1. Introduzione

In questo documento viene discussa in dettaglio la vulnerabilità di Pipenv (CVE-2022-21668). Le sezioni seguenti trattano il codice difettoso nel file pipenv/utils.py che apre la porta a vari attacchi RCE e anche la recente correzione che valida la connessione SSL/TLS e controlla il nome host rispetto a un elenco di host attendibili.

1.1. Voce di elenco

Pipenv Pipenv è uno strumento che crea e gestisce automaticamente un virtualenv per i tuoi progetti e aggiunge/rimuove pacchetti dal tuo Pipfile quando installi/disinstalli pacchetti.

Per maggiori informazioni clicca qui

1.2 requirements.txt

Abbiamo bisogno di un file requirements.txt ogni volta che abbiamo a che fare con sistemi complessi. Questo file di testo torna utile anche quando vogliamo trasferire l'applicazione in un altro ambiente. Questo file contiene tutti i pacchetti/dipendenze necessari per eseguire correttamente un'applicazione insieme ai relativi numeri di versione.

File requirements.txt di esempio:

esempio di requirements

Fonte immagine: https://www.idkrtm.com/what-is-the-python-requirements-txt/

Se non disponiamo di un file requirements.txt, potrebbe non essere possibile trasferire correttamente la nostra applicazione su un altro sistema, poiché potrebbero esserci problemi di compatibilità tra le versioni dei pacchetti.

2. CVE-2022-21668

A partire dalla versione 2018.10.9 di Pipenv e prima della versione 2022.1.8, un difetto nell'analisi dei file requirements da parte di pipenv consente a un attaccante di inserire una stringa appositamente predisposta all'interno di un commento in qualsiasi punto di un file requirements.txt, causando così alle vittime che usano pipenv per installare il file requirements di scaricare le dipendenze da un server di indicizzazione dei pacchetti controllato dall'attaccante. L'attacco RCE è altamente fattibile contro sistemi così vulnerabili.

cvedetails valuta questa vulnerabilità come critica / grave.

Punteggio CVSS da cvedetials: Punteggio CVSS (Fonte: https://www.cvedetails.com/cve/CVE-2022-21668/)

3. Bug del codice

Bug CVE-2022-21668 Questa funzione viene chiamata in modo iterativo su ogni riga di un file requirements e utilizza il modulo argparse per trovare ed elaborare le opzioni --index-url, --extra-index-url e --trusted-host. Tuttavia, non ignora queste opzioni quando compaiono nei commenti. Il problema del codice è che analizza le stringhe che iniziano con "--index-url, --extra-index-url, e --trusted-host" in qualsiasi punto del file. Questa funzionalità lo rende più vulnerabile. Per maggiori informazioni clicca qui

4. Exploit RCE

Gli attacchi di esecuzione remota del codice (RCE) consentono a un attaccante di eseguire codice dannoso da remoto su un computer. L'impatto di una vulnerabilità RCE può variare dall'esecuzione di malware fino al pieno controllo della macchina compromessa da parte dell'attaccante.

Se un attaccante riesce a nascondere un'opzione --index-url dannosa in un file requirements che una vittima installa con pipenv, l'attaccante può incorporare codice arbitrario dannoso nei pacchetti serviti dal suo server di indicizzazione malevolo, codice che verrà eseguito sull'host della vittima durante l'installazione (esecuzione remota del codice/RCE). Lo sfruttamento con questa tecnica sarebbe relativamente semplice per un attaccante con conoscenze di base di Python, poiché l'attaccante può semplicemente creare una source distribution per uno qualsiasi dei pacchetti specificati nel file requirements e incorporare codice arbitrario dannoso nel file setup.py. Quando pip installa da una source distribution, qualsiasi codice in setup.py viene eseguito dal processo di installazione.

Per maggiori dettagli clicca qui

5. Correzione

Le versioni dalla 2022.1.8 in poi hanno questo problema corretto. Una nuova funzione “get_host_and_port(url)” è stata aggiunta nel file pipenv/utils.py. Questa funzione recupera host e porta dell'URL presente nel file requirements.txt. L'indirizzo host recuperato viene analizzato usando urllib3, che internamente valida la connessione SSL/TLS. L'indirizzo host viene anche verificato rispetto a un elenco di indirizzi host attendibili. Correzione per CVE-2022-21668 Maggiori informazioni qui

6. Impatto

Gli attacchi di base potrebbero usare la RCE iniziale innescata quando la vittima installa il pacchetto dannoso dell'attaccante per rubare le credenziali dall'host della vittima, sfruttare le risorse dell'host per minare criptovalute o installare kit di exploit o altro malware. Attaccanti più sofisticati potrebbero usare tecniche più avanzate per mantenere l'accesso all'host della vittima, nascondere o rimuovere le prove del loro attacco eliminando i riferimenti al server di indicizzazione malevolo nel Pipfile e nel Pipfile.lock generati da pipenv o altri potenziali indicatori di compromissione. Attaccanti altamente sofisticati potrebbero tentare di spostarsi verso ulteriori obiettivi a partire dall'host inizialmente compromesso e potrebbero sfruttare eventuali credenziali esposte nell'ambiente dell'host compromesso o l'autorizzazione implicita concessa all'host per ottenere accesso privilegiato ad altri sistemi o risorse, come repository sorgente o registri di pacchetti. (Fonte: https://github.com/pypa/pipenv/security/advisories/GHSA-qc9x-gjcv-465w)

7. Riepilogo

  • Un errore di parsing che non considera correttamente l'analisi dei commenti ha creato una vulnerabilità critica.

  • Voce di elenco Con una tale vulnerabilità, anche la configurazione del server di indicizzazione malevolo per servire versioni compromesse dei pacchetti è relativamente semplice, anche per un attaccante non sofisticato.

Risorse aggiuntive

  • FEDORA FEDORA-2022-508e460384
  • FEDORA FEDORA-2022-77ce20f03a
  • Merge pull request from GHSA-qc9x-gjcv-465w
  • Release corretta
  • L'analisi del file requirements.txt di Pipenv consente URL di indice dannosi nei commenti
Scarica lo strumento