Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 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
25há 1 mêsAinda 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

CVE Name CVSS Disclosed Shell License Version CI

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

   ____  _____ ____ ___ _____      ____ _____        __
  |  _ \| ____|  _ \_ _|_   _|    / ___/ _ \ \      / /
  | |_) |  _| | | | | |  | |     | |  | | | \ \ /\ / /
  |  __/| |___| |_| | |  | |     | |__| |_| |\ 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 vez antes do loop de chaves, usando tcfp_off_max_hint. Chaves tipadas adicionam um deslocamento de cabeçalho em tempo de execução que a dica não cobre, de modo que parte da escrita eventual cai fora da região submetida a 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 o detectarão.

Mesma família de bugs que 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 propriedade de página é a mesma.

CVECVE-2026-46331
ComponenteKernel Linux net/sched / act_pedit
ClasseCOW parcial → corrupção do page cache → LPE
Vetor de ataqueLocal (CAP_NET_ADMIN, tipicamente obtido via userns não privilegiado)
Afetado upstream5.18 .. 7.1-rc6
Correção upstream7.1-rc7
PoC públicopacket_edit_meme (verificado em RHEL 10, Debian 13, Ubuntu 24.04.4)
Severidade Red HatImportant
CVSS 3.1 SUSE7.8 (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)

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 seguro de executar em produção.

  • Inventaria o kernel em execução, a distro e a versão do pacote do kernel.
  • Sonda a alcançabilidade de act_pedit por meio de quatro sinais independentes:
    • atualmente carregado (lsmod)
    • carregável sob demanda (modinfo)
    • embutido no kernel em execução (/boot/config-$(uname -r), /proc/config.gz, modules.builtin)
    • bloqueado por uma substituição install ... /bin/true em modprobe.d, ou por blacklist em kernels que carregam act_pedit automaticamente por meio de seu alias net-act-pedit (6.9+; kernels mais antigos o solicitam pelo nome, o que blacklist não impede)
  • Lista regras tc action pedit existentes (informativo; sem alterações).
  • Lê os controles de userns / netns: user.max_user_namespaces, kernel.unprivileged_userns_clone, user.max_net_namespaces e as restrições de userns do AppArmor no Ubuntu.
  • Matriz heurística de patches de fornecedores por /etc/os-release (RHEL 8/9/10, Debian 11/12/13/14, Ubuntu 18.04→26.04, SUSE, Amazon Linux, família Arch rolling).
  • Caça opcional de IoC comportamental via auditd e journalctl (janela configurável via --since e --until).
  • Pontuação de risco de 0 a 100 e um veredito final: PATCHED / NOT_APPLICABLE / MITIGATED / VULNERABLE / UNKNOWN.
  • Códigos de saída projetados para orquestração de frotas.

Uso

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 --since 2026-06-01 --until 2026-09-01  # bounded IoC window
sudo ./cve-2026-46331-audit.sh --no-banner           # text report without the ASCII banner
./cve-2026-46331-audit.sh --version                  # print script version and exit

Códigos de saída

CódigoSignificado
0PATCHED ou NOT_APPLICABLE (o kernel é anterior ao bug)
1MITIGATED (mitigação ativa, kernel ainda vulnerável, aplicar patch mesmo assim)
2VULNERABLE (uma ou mais pré-condições necessárias atendidas, sem kernel corrigido)
3UNKNOWN (tratar como suspeito em contextos compartilhados / CI / Kubernetes)
4ERROR (o script não pôde ser executado; ferramentas ausentes ou ambiente inválido)

Exemplo de saída

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

Modelo de pontuação de risco

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

SinalPeso
Veredito do fornecedor VULNERABLE+50
Veredito do fornecedor UNKNOWN+30
act_pedit compilado no kernel+25
act_pedit carregável, sem override+20
act_pedit carregável, override ou blacklist ativo+5
act_pedit atualmente carregado+5
userns+netns sem privilégios acessível, sem bloqueio do AppArmor+15
userns+netns sem privilégios acessível, bloqueio do AppArmor ativo+8
IoCs encontrados na janela de busca+10

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

Implantação em massa

Ansible

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:

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

Failed_when em uma play

- 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 precisar adiar a aplicação do patch)

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

# Option 1: block act_pedit if you don't use it.
tc actions list action pedit                  # MUST be empty before doing this

# 1a) Hard block via modprobe install override (strongest).
echo 'install act_pedit /bin/true' | sudo tee /etc/modprobe.d/disable-act_pedit.conf

# 1b) `blacklist act_pedit` only stops the autoload on kernels 6.9+, which
#     request the "net-act-pedit" alias. Older kernels load it by name and
#     ignore the blacklist, so prefer 1a. Check your kernel:
modinfo -F alias act_pedit | grep -qx net-act-pedit && echo "blacklist works here"

lsmod | grep -q act_pedit && sudo rmmod act_pedit
Baixar ferramenta