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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2026-46331-audit — cve-2026-46331-audit script | Kitploit
Strumenti/GitHubGitHub/quaerendir/cve-2026-46331-audit
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitInformatica ForensePaper e RicercaApprendimento e FormazioneRisposta agli Incidenti
GitHubquaerendir/cve-2026-46331-audit

cve-2026-46331-audit

cve-2026-46331-audit script

Vedi Repository
251 mese 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

cve-2026-46331-audit

CVE Name CVSS Disclosed Shell License Version CI

Script di audit in sola lettura per CVE-2026-46331 (noto anche come pedit COW) — un bug di copy-on-write parziale nell'azione act_pedit di net/sched del kernel Linux che consente a un utente locale non privilegiato di corrompere la memoria della page cache ed escalare a root.

   ____  _____ ____ ___ _____      ____ _____        __
  |  _ \| ____|  _ \_ _|_   _|    / ___/ _ \ \      / /
  | |_) |  _| | | | | |  | |     | |  | | | \ \ /\ / /
  |  __/| |___| |_| | |  | |     | |__| |_| |\ V  V /
  |_|   |_____|____/___| |_|      \____\___/  \_/\_/
     CVE-2026-46331    net/sched act_pedit partial COW

TL;DR

tcf_pedit_act() calcola l'intervallo COW per skb_ensure_writable() una volta prima del ciclo delle chiavi, usando tcfp_off_max_hint. Le chiavi tipizzate aggiungono un offset di intestazione a runtime che l'hint non copre, quindi parte della scrittura finale cade al di fuori della regione COW'd. Risultato: le pagine condivise della page-cache vengono sporcate, e un binario setuid in cache (bersaglio classico: /bin/su) può essere avvelenato in memoria. Gli hash su disco restano puliti. I monitor di integrità dei file non lo rileveranno.

Stessa famiglia di bug di Dirty COW (CVE-2016-5195), Dirty Pipe (CVE-2022-0847), Copy Fail (CVE-2026-31431) e Dirty Frag (CVE-2026-46300). Il punto di ingresso è diverso, il fallimento della proprietà delle pagine è lo stesso.

CVECVE-2026-46331
ComponenteKernel Linux net/sched / act_pedit
ClasseCOW parziale → corruzione della page cache → LPE
Vettore di attaccoLocale (CAP_NET_ADMIN, tipicamente acquisito tramite userns non privilegiati)
Upstream interessato5.18 .. 7.1-rc6
Fix upstream7.1-rc7
PoC pubblicopacket_edit_meme (verificato su RHEL 10, Debian 13, Ubuntu 24.04.4)
Gravità Red HatImportant
CVSS 3.1 SUSE7.8 (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)

Cosa fa questo script

Triage strettamente in sola lettura. Non carica mai un modulo, non tocca mai sysctl, non esegue mai un PoC. Progettato per essere sicuro da eseguire in produzione.

  • Inventaria il kernel in esecuzione, la distro, la versione del pacchetto del kernel.
  • Verifica la raggiungibilità di act_pedit tramite quattro segnali indipendenti:
    • attualmente caricato (lsmod)
    • caricabile su richiesta (modinfo)
    • compilato nel kernel in esecuzione (/boot/config-$(uname -r), /proc/config.gz, modules.builtin)
    • bloccato da un override install ... /bin/true in modprobe.d, o da blacklist sui kernel che caricano automaticamente act_pedit tramite il suo alias net-act-pedit (6.9+; i kernel più vecchi lo richiedono per nome, cosa che blacklist non ferma)
  • Elenca le regole tc action pedit esistenti (a scopo informativo; nessuna modifica).
  • Legge i gate di userns / netns: user.max_user_namespaces, kernel.unprivileged_userns_clone, user.max_net_namespaces, e le restrizioni userns di AppArmor su Ubuntu.
  • Matrice euristica delle patch del fornitore in base a /etc/os-release (RHEL 8/9/10, Debian 11/12/13/14, Ubuntu 18.04→26.04, SUSE, Amazon Linux, famiglia Arch rolling).
  • Ricerca comportamentale opzionale di IoC tramite auditd e journalctl (finestra configurabile tramite --since e --until).
  • Punteggio di rischio 0-100 e verdetto finale: PATCHED / NOT_APPLICABLE / MITIGATED / VULNERABLE / UNKNOWN.
  • Codici di uscita progettati per l'orchestrazione su flotte.

Utilizzo

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

Codici di uscita

CodiceSignificato
0PATCHED o NOT_APPLICABLE (il kernel è precedente alla vulnerabilità)
1MITIGATED (mitigazione attiva, il kernel è ancora vulnerabile, applicare comunque la patch)
2VULNERABLE (una o più precondizioni richieste soddisfatte, nessun kernel corretto)
3UNKNOWN (trattare come sospetto in contesti condivisi / CI / Kubernetes)
4ERROR (impossibile eseguire lo script; strumenti mancanti o ambiente non valido)

Output di esempio

Vedere examples/sample-output.txt per un'esecuzione completa e examples/sample-output.json per il formato JSON.

Modello di scoring del rischio

Il punteggio è una combinazione ponderata di:

SegnalePeso
Verdetto del vendor VULNERABLE+50
Verdetto del vendor UNKNOWN+30
act_pedit integrato nel kernel+25
act_pedit caricabile, nessun override+20
act_pedit caricabile, override o blacklist attivi+5
act_pedit attualmente caricato+5
userns+netns non privilegiati raggiungibili, nessun controllo AppArmor+15
userns+netns non privilegiati raggiungibili, controllo AppArmor attivo+8
IoC trovati nella finestra di ricerca+10

Limitato a 100. Qualsiasi valore superiore a ~70 dovrebbe essere trattato come urgente su nodi multi-tenant / CI / Kubernetes; sotto ~20 di solito è una conferma che l'host è a posto.

Distribuzione di massa

Ansible

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

Poi aggrega con jq:

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

failed_when in un 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

Mitigazioni (se devi ritardare l'applicazione delle patch)

In ordine di preferenza. Lo script consiglierà quella giusta in base a ciò che ha rilevato.

# 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
Scarica lo strumento