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
cve-2026-46331-audit — script de auditoria cve-2026-46331 | Kitploit
Ferramentas/GitHubGitHub/quaerendir/cve-2026-46331-audit
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoAnálise ForensePapers e PesquisaAprendizado e EducaçãoResposta a Incidentes
GitHubquaerendir/cve-2026-46331-audit

cve-2026-46331-audit

script de auditoria cve-2026-46331

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

cve-2026-46331-audit

Script de auditoria somente leitura para CVE-2026-46331 (também conhecida como pedit COW) — uma falha parcial de copy-on-write na ação act_pedit de net/sched do kernel Linux que permite a um usuário local sem privilégios corromper a memória do page cache e escalar para root.

root@kitploit:~
   ____  _____ ____ ___ _____      ____ _____        __
  |  _ \| ____|  _ \_ _|_   _|    / ___/ _ \ \      / /
  | |_) |  _| | | | | |  | |     | |  | | | \ \ /\ / /
  |  __/| |___| |_| | |  | |     | |__| |_| |\ V  V /
  |_|   |_____|____/___| |_|      \____\___/  \_/\_/
     CVE-2026-46331    net/sched act_pedit partial COW

TL;DR

tcf_pedit_act() calcula o intervalo de COW para skb_ensure_writable() uma única vez antes do loop de chaves, usando tcfp_off_max_hint. Chaves tipadas adicionam um offset de cabeçalho em tempo de execução que a dica não cobre; portanto, parte da escrita final cai fora da região protegida por COW. Resultado: páginas compartilhadas do page cache são corrompidas, e um binário setuid em cache (alvo clássico: /bin/su) pode ser envenenado em memória. Os hashes em disco permanecem limpos. Monitores de integridade de arquivos não verão a alteração.

Mesma família de falhas do Dirty COW (CVE-2016-5195), Dirty Pipe (CVE-2022-0847), Copy Fail (CVE-2026-31431) e Dirty Frag (CVE-2026-46300). O ponto de entrada é diferente; a falha de posse de página é a mesma.

O que este script faz

Triagem estritamente somente leitura. Nunca carrega um módulo, nunca toca em sysctl, nunca executa um PoC. Projetado para ser executado com segurança em produção.

  • Inventaria o kernel em execução, a distribuição e a versão do pacote do kernel.
  • Testa a acessibilidade de act_pedit por meio de quatro sinais independentes:
    • carregado atualmente (lsmod)
    • carregável sob demanda (modinfo)
    • embutido no kernel em execução (/boot/config-$(uname -r), /proc/config.gz, modules.builtin)
    • bloqueado por blacklist ou override install ... /bin/true em modprobe.d
  • Lista regras tc action pedit existentes (informativo; nenhuma alteração).
  • Lê as travas de userns: user.max_user_namespaces, kernel.unprivileged_userns_clone e as restrições de userns do AppArmor no Ubuntu.

Uso

root@kitploit:~
sudo ./cve-2026-46331-audit.sh                       # full text report
sudo ./cve-2026-46331-audit.sh --json                # machine-readable JSON, no banner
sudo ./cve-2026-46331-audit.sh --quiet --no-hunt     # one-line verdict for mass scans
sudo ./cve-2026-46331-audit.sh --since 2026-06-01    # widen IoC hunt window
sudo ./cve-2026-46331-audit.sh --no-banner           # text report without the ASCII banner

Códigos de saída

Exemplo de saída

Consulte examples/sample-output.txt para uma execução completa e examples/sample-output.json para a forma JSON.

Modelo de pontuação de risco

A pontuação é uma combinação ponderada de:

Limitada a 100. Qualquer valor acima de ~70 deve ser tratado como urgente em nós multi-tenant / CI / Kubernetes; abaixo de ~20 geralmente é a confirmação de que o host está OK.

Implantação em massa

Ansible

root@kitploit:~
ansible -i inventory all -m script \
  -a "cve-2026-46331-audit.sh --json --quiet --no-hunt" \
  --become \
  | tee /tmp/audit.jsonl

Em seguida, agregue com jq:

root@kitploit:~
grep -v '^[a-z]' /tmp/audit.jsonl | jq -s 'group_by(.verdict) | map({verdict: .[0].verdict, hosts: length})'

failed_when em um play

root@kitploit:~
- name: audit CVE-2026-46331
  ansible.builtin.script: cve-2026-46331-audit.sh --quiet --no-hunt
  register: audit
  failed_when: audit.rc == 2
  changed_when: false

Mitigações (se você precisar adiar a correção)

Em ordem de preferência. O script recomendará a opção correta com base no que encontrar.

root@kitploit:~
# Option 1: block act_pedit if you don't use it.
tc actions list action pedit                  # MUST be empty before doing this
echo 'install act_pedit /bin/true' | sudo tee /etc/modprobe.d/disable-act_pedit.conf
lsmod | grep -q act_pedit && sudo rmmod act_pedit
root@kitploit:~
# Option 2: restrict unprivileged user namespaces.
# Will break rootless Podman/Docker, browser sandboxes, Flatpak, unprivileged unshare, some CI sandboxes.
sudo sysctl -w user.max_user_namespaces=0           # EL-family
sudo sysctl -w kernel.unprivileged_userns_clone=0   # Debian/Ubuntu

A correção real é uma atualização do kernel do fornecedor mais uma reinicialização. uname -r após a reinicialização é a única coisa que comprova isso.

Contexto da família de falhas

Esta é a quinta iteração da mesma falha arquitetural. Cada uma corrigiu a causa imediata, nenhuma corrigiu a causa raiz: caminhos rápidos zero-copy compartilhando páginas através de fronteiras de posse, onde todo escritor precisa comprovar privacidade antes de mutar bytes, em centenas de pontos de chamada.

Rust no kernel aborda exatamente essa classe por meio de tipos de posse. Isso não aparecerá em net/sched amanhã.

Referências

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-46331
  • Red Hat: https://access.redhat.com/security/vulnerabilities/RHSB-2026-008
  • Ubuntu: https://ubuntu.com/security/CVE-2026-46331
  • Debian: https://security-tracker.debian.org/tracker/CVE-2026-46331
  • Commit upstream e descrição: consulte as referências do registro na NVD.

Licença

MIT. Consulte LICENSE.

Aviso legal

Para uso defensivo autorizado em sistemas de sua propriedade ou para os quais você tenha permissão explícita de auditoria. O script nunca executa o PoC público, nunca modifica o estado do sistema e nunca carrega módulos. Trate o veredito como triagem, não como prova de comprometimento nem como prova de segurança.

Baixar ferramenta
CVECVE-2026-46331
Componentekernel Linux net/sched / act_pedit
ClasseCOW parcial → corrupção de page cache → LPE
Vetor de ataqueLocal (CAP_NET_ADMIN, normalmente obtido via userns sem privilégios)
Versões upstream afetadas5.18 .. 7.1-rc6
Correção no upstream7.1-rc7
PoC públicopacket_edit_meme (verificado em RHEL 10, Debian 13, Ubuntu 24.04.4)
Severidade Red HatImportante
CVSS 3.1 da SUSE7.8 (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)
  • Matriz heurística de correções por fornecedor conforme /etc/os-release (RHEL 8/9/10, Debian 11/12/13/14, Ubuntu 18.04→26.04, SUSE, Amazon Linux, Arch e derivados rolling).
  • Busca opcional de IoCs comportamentais via auditd e journalctl (janela configurável via --since).
  • Pontuação de risco de 0 a 100 e veredito final: PATCHED / NOT_APPLICABLE / MITIGATED / VULNERABLE / UNKNOWN.
  • Códigos de saída projetados para orquestração de frotas.
  • CódigoSignificado
    0PATCHED ou NOT_APPLICABLE (kernel anterior à falha)
    1MITIGATED (mitigação ativa, kernel ainda vulnerável — aplique a correção mesmo assim)
    2VULNERABLE (uma ou mais pré-condições exigidas atendidas, sem kernel corrigido)
    3UNKNOWN (trate como suspeito em contextos compartilhados / CI / Kubernetes)
    4ERROR (o script não pôde ser executado; ferramentas ausentes ou ambiente inválido)
    SinalPeso
    Veredito do fornecedor VULNERABLE+50
    Veredito do fornecedor UNKNOWN+30
    act_pedit embutido no kernel+25
    act_pedit carregável, sem override+20
    act_pedit carregável, com override ativo+5
    act_pedit carregado atualmente+5
    userns sem privilégios acessível, sem trava do AppArmor+15
    userns sem privilégios acessível, com trava do AppArmor ativa+8
    IoCs encontrados na janela de busca+10
    CVEAnoSubsistemaPrimitiva
    CVE-2016-51952016mmcorrida de COW em mapeamento somente leitura
    CVE-2022-08472022pipe / splicevazamento de flag de pipe_buffer para o page cache
    CVE-2026-314312026crypto AF_ALG/AEADcriptografia in-place sobre cache de arquivo somente leitura
    CVE-2026-463002026XFRM ESP-in-TCPperda de marcador de fragmento compartilhado do skbuff
    CVE-2026-463312026net/sched act_peditCOW parcial por offset de chave tipada resolvido tardiamente