Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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-2024-21626-runcPOC — Proof-of-concept per CVE-2024-21626, una vulnerabilità di fuga dal container runc. Include script di verifica, due metodi di sfruttamento (reverse shell via cron e sostituzione di comando) e analisi della causa principale e della patch. | Kitploit
Strumenti/GitHubGitHub/v0wkeep3r/cve-2024-21626-runcpoc
Escalation di PrivilegiSicurezza dei ContenitoriAnalisi delle VulnerabilitàExploitSicurezza CloudEscape dal Container
GitHubv0wkeep3r/cve-2024-21626-runcpoc

CVE-2024-21626-runcPOC

Proof-of-concept per CVE-2024-21626, una vulnerabilità di fuga dal container runc. Include script di verifica, due metodi di sfruttamento (reverse shell via cron e sostituzione di comando) e analisi della causa principale e della patch.

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
Vedi Repository
61172 anni faNon ancora revisionato

[Riproduzione della vulnerabilità] CVE-2024-21626 Vulnerabilità di fuga di runc in docker

1. Riepilogo della vulnerabilità

Nome vulnerabilitàVulnerabilità di fuga di runc in docker
ID vulnerabilitàCVE-2024-21626
Data di divulgazione2024-01-31
Caratteristica/
Versioni interessaterunc @ [v1.0.0-rc93,1.1.11]

2. Sfruttamento della vulnerabilità e POC/EXP

Le condizioni per lo sfruttamento sono piuttosto restrittive, richiedono l'interazione della vittima. Personalmente lo ritengo un po' inutile:

  1. Creare un contenitore utilizzando un'immagine malevola dell'attaccante (inclusa l'impostazione della directory di lavoro, ecc.)
  2. L'attaccante può controllare il contenitore ed eseguire comandi.

Verifica dell'esistenza della vulnerabilità e ottenimento del descrittore:

git clone https://github.com/V0WKeep3r/CVE-2024-21626-runcPOC.git
cd CVE-2024-21626-runcPOC
bash verify.sh

Come mostrato nell'immagine qui sotto, la vulnerabilità è presente e il descrittore di file è /proc/self/fd8 verify.sh può trovare il valore specifico di fd nell'ambiente della macchina corrente. Se fd non è 8, è necessario modificare WORKDIR nel Dockerfile con il valore corrispondente o specificarlo con -w in docker run.

Verifica di fuga/elevazione dei privilegi: Qui sono più vicino a uno scenario reale. poc.sh utilizza un cron job per ottenere una reverse shell. poc2.sh utilizza la sostituzione di comandi (nota: con questo metodo è necessario eseguire un backup dei file in anticipo per evitare di non poterli ripristinare).

# 需要确认定时任务文件存在,不存在可以创建写,但是那样不能触发定时任务
# 只有crontab -e创建的,在crontab组的文件才会被定时执行。
docker build . -t poc1
docker run -it --rm poc1 bash /poc.sh

POC2:

docker build . -t poc2
docker run -it --rm poc2 bash /poc.sh

# 另起一个terminal
/bin/bash.copy

3. Analisi del principio della vulnerabilità

Non è del tutto compreso, ma insieme alla patch si può avere un'idea generale.

Durante l'esecuzione di docker exec o docker run, viene chiamata la funzione execve di runc. Tuttavia, nel processo di runc exec, i descrittori di file (fd) non vengono chiusi, causando la perdita dei descrittori di file dell'host nell'ambiente del contenitore. L'utente può utilizzare questi descrittori per leggere e scrivere i file dell'host, ottenendo così la fuga dal contenitore.

4. Soluzione di mitigazione/Analisi della patch

Soluzione di mitigazione Aggiornare runc alla versione 1.12 o successiva. Link ufficiale: https://github.com/opencontainers/runc/releases

Analisi della patch diff commit: https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e Chiudere i fd interni prima di execve init_linux.go: dopo chdir, verifica che la cwd (directory di lavoro corrente) sia all'interno del contenitore

F. Link di riferimento

  1. Descrizione della vulnerabilità: https://github.com/opencontainers/runc/security/advisories/GHSA-xr7r-f8xq-vfvv
  2. patch: https://github.com/opencontainers/runc/commit/2a4ed3e75b9e80d93d1836a9c4c1ebfa2b78870e
Scarica lo strumento