Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ENV-CVE-2021-3975 — Artefatos do ambiente docker de CVE-2021-3975 | Kitploit
Ferramentas/GitHubGitHub/yan5ui/env-cve-2021-3975
Segurança de ContêineresAnálise de VulnerabilidadesExploraçãoAprendizado e EducaçãoExploração de BináriosLabs e Prática
GitHubyan5ui/env-cve-2021-3975

ENV-CVE-2021-3975

Artefatos do ambiente docker de CVE-2021-3975

Ver Repositório
3há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

ENV-CVE-2021-3975 — Ambiente de reprodução de vulnerabilidade libvirt

Este repositório é um snapshot do ambiente reproduzível da vulnerabilidade CVE-2021-3975 (libvirt qemuProcessHandleMonitorEOF use-after-free, CWE-416), exportado da imagem de contêiner correspondente yan5ui/cve-2021-3975:tier1 (baseada em ubuntu:20.04).

O ambiente realizou uma construção reproduzível a partir do código-fonte da versão vulnerável, preservando os artefatos de compilação, scripts de construção e logs completos, podendo ser usado diretamente para reprodução da vulnerabilidade e validação de exploit.

Informações da Vulnerabilidade

ItemValor
CVECVE-2021-3975
Projetolibvirt (série 7.1.0)
CWECWE-416 (Use-After-Free)
Função vulnerávelqemuProcessHandleMonitorEOF() (chama qemuMonitorUnregister())
Repositório upstreamhttps://github.com/libvirt/libvirt

Condição de gatilho: qemuMonitorUnregister() é chamada em múltiplas threads dentro de qemuProcessHandleMonitorEOF sem proteção adequada pelo lock do monitor; durante o desligamento do guest, através da API virConnectGetAllDomainStats, pode-se acionar o UAF, causando a falha do daemon libvirt.

Correspondência entre Sanitizer e Tipo de Vulnerabilidade

Este ambiente seleciona a estratégia de instrumentação em tempo de compilação de acordo com a categoria CWE da vulnerabilidade.

  • CWE-416 (Use-After-Free) → Esta imagem usa compilação plain debug
  • Compilador: clang
  • Opções de compilação: -O1 -g -fno-omit-frame-pointer

Nota: Vulnerabilidades do tipo UAF geralmente são instrumentadas com ASan+UBSan. Na plataforma alvo deste ambiente, ubuntu:20.04, a cadeia de ferramentas fornecida pelo sistema (meson 0.53.2 + clang-10 + ld.bfd) não consegue passar -fsanitize=address,undefined completamente para a etapa de link da biblioteca compartilhada libvirt.so.0 (aparecem inúmeras referências de símbolos indefinidos __asan_* / __ubsan_*). Portanto, esta imagem utiliza uma compilação plain debug com símbolos de depuração (-O1, preserva o ponteiro de quadro). Essa construção reproduz completamente o caminho de código da vulnerabilidade; a falha pode ser localizada no ponto de use-after-free sob um depurador. Esta decisão de construção e sua razão estão registradas no campo sanitizer_downgrade_reason em compile/BUILD_OK.

Os artefatos de construção são o conjunto completo do daemon libvirt e ferramentas; o binário principal é compile/artifacts/libvirtd (compile/artifacts/main aponta para ele).

Estrutura de Diretórios

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 的运行时工作目录(镜像内为空)

Sobre task/ e workspace/

Ambos são diretórios de trabalho usados pelo exploit agent harness durante a reprodução/exploração: workspace/ como área de trabalho padrão do agente, task/ para armazenar a entrada da tarefa única de reprodução. Na imagem, ambos estão vazios; durante a reprodução, são preenchidos em tempo de execução pelo harness. São diretórios padrão de convenção do ambiente e não contêm artefatos de construção.

Modo de Reprodução

A construção dentro do contêiner é do tipo out-of-source com meson + ninja (veja compile/build.sh), o diretório de construção é /src/libvirt/build/. O binário principal é compile/artifacts/libvirtd. Conforme as instruções da tarefa em description.md, durante o desligamento do guest, chame concorrentemente virConnectGetAllDomainStats, acionando o use-after-free em qemuProcessHandleMonitorEOF, causando a falha do daemon para validar a vulnerabilidade.

Baixar ferramenta