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
ENV-CVE-2021-3975 — Artefatti dell'ambiente docker di CVE-2021-3975 | Kitploit
Strumenti/GitHubGitHub/yan5ui/env-cve-2021-3975
Sicurezza dei ContenitoriAnalisi delle VulnerabilitàExploitApprendimento e FormazioneBinary ExploitationLab e Pratica
GitHubyan5ui/env-cve-2021-3975

ENV-CVE-2021-3975

Artefatti dell'ambiente docker di CVE-2021-3975

Vedi Repository
2 mesi faNon ancora revisionato

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

ENV-CVE-2021-3975 — Ambiente di riproduzione della vulnerabilità libvirt

Questo repository è uno snapshot di un ambiente riproducibile per la vulnerabilità CVE-2021-3975 (use-after-free di libvirt qemuProcessHandleMonitorEOF, CWE-416), esportato dalla corrispondente immagine container yan5ui/cve-2021-3975:tier1 (basata su ubuntu:20.04).

L'ambiente ha eseguito una build riproducibile sul codice sorgente della versione vulnerabile, conservando gli artefatti di compilazione, gli script di build e i log di build completi, direttamente utilizzabili per la riproduzione della vulnerabilità e la verifica dell'exploit.

Informazioni sulla vulnerabilità

CampoValore
CVECVE-2021-3975
Progettolibvirt (serie 7.1.0)
CWECWE-416 (uso dopo il rilascio, Use-After-Free)
Funzione vulnerabileqemuProcessHandleMonitorEOF() (chiama qemuMonitorUnregister())
Repository upstreamhttps://github.com/libvirt/libvirt

Condizioni di attivazione: qemuMonitorUnregister() viene chiamato da più thread all'interno di qemuProcessHandleMonitorEOF senza essere adeguatamente protetto dal lock del monitor; durante lo spegnimento del guest, questa UAF può essere innescata tramite l'API virConnectGetAllDomainStats, causando il crash del daemon libvirt.

Corrispondenza tra sanitizer e tipo di vulnerabilità

Questo ambiente seleziona la strategia di strumentazione in fase di compilazione in base alla categoria CWE della vulnerabilità.

  • CWE-416 (uso dopo il rilascio) → questa immagine utilizza una build plain debug
  • Compilatore: clang
  • Opzioni di compilazione: -O1 -g -fno-omit-frame-pointer

Nota: le vulnerabilità di tipo UAF vengono solitamente gestite con la strumentazione ASan+UBSan. Sulla piattaforma target di questo ambiente, ubuntu:20.04, la toolchain fornita con il sistema (meson 0.53.2 + clang-10 + ld.bfd) non riesce a propagare integralmente -fsanitize=address,undefined alla fase di link della libreria condivisa libvirt.so.0 (compaiono numerosi riferimenti a simboli non definiti __asan_* / __ubsan_*); pertanto questa immagine adotta una build plain debug con simboli di debug (-O1, frame pointer preservati). Questa build riproduce integralmente il percorso del codice vulnerabile e il crash può essere localizzato al punto di uso dopo il rilascio tramite debugger; questa decisione di build e le relative motivazioni sono state documentate fedelmente nel campo sanitizer_downgrade_reason di compile/BUILD_OK.

Gli artefatti di build comprendono il daemon libvirt completo e la suite di strumenti; il binario principale è compile/artifacts/libvirtd (compile/artifacts/main punta ad esso).

Struttura delle directory

root@kitploit:~
.
├── README.md            本文件
├── description.md       漏洞描述、漏洞函数源码摘录与复现任务说明
├── meta.json            结构化元数据(项目、CWE、commit、源码路径等)
├── compile/             构建产物与构建记录
│   ├── build.sh         可复现构建脚本(依赖安装 + meson setup + ninja + 收集产物)
│   ├── deps.txt         构建所需的 apt 依赖清单
│   ├── BUILD_OK         构建成功清单(构建系统、sanitizer 与降级原因、产物路径等)
│   ├── build.log        完整构建日志
│   └── artifacts/       编译产物
│       ├── libvirtd     守护进程主二进制(漏洞函数所在进程)
│       ├── main         指向 libvirtd 的符号链接(统一入口名)
│       ├── virsh / virtqemud / virtlogd / ...   其余守护进程与命令行工具
│       ├── libvirt.so.0.7001.0                   libvirt 核心共享库
│       └── libvirt_driver_qemu.so 等            各 driver / storage backend 共享库
├── src/
│   └── libvirt/         漏洞 commit 处的完整源码树
│       └── build/       meson/ninja 的 out-of-source 构建目录(编译产物原位置)
├── task/                exploit agent harness 的运行时挂载目录(镜像内为空)
└── workspace/           exploit agent harness 的运行时工作目录(镜像内为空)

Informazioni su task/ e workspace/

Entrambe sono directory di lavoro utilizzate dall'exploit agent harness durante la riproduzione/lo sfruttamento della vulnerabilità: workspace/ funge da area di lavoro predefinita dell'agente, mentre task/ viene utilizzata per inserire gli input della singola attività di riproduzione. Nell'immagine sono entrambe vuote e vengono popolate dall'harness in fase di esecuzione durante la riproduzione; si tratta delle directory convenzionali standard dell'ambiente e non contengono artefatti di build.

Metodo di riproduzione

La build viene eseguita nel container come build out-of-source con meson + ninja (vedi compile/build.sh); la directory di build è /src/libvirt/build/. Il binario principale è compile/artifacts/libvirtd. Seguendo le istruzioni dell'attività in description.md, durante lo spegnimento del guest vengono effettuate chiamate concorrenti a virConnectGetAllDomainStats, innescando l'uso dopo il rilascio in qemuProcessHandleMonitorEOF e causando il crash del daemon per verificare la vulnerabilità.

Scarica lo strumento