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
yc-mk8s-copy-fail-mitigation — DaemonSet per la mitigazione della vulnerabilità CVE-2026-31431 (Copy Fail) | Kitploit
Strumenti/GitHubGitHub/yandex-cloud-examples/yc-mk8s-copy-fail-mitigation
Sicurezza dei ContenitoriAnalisi delle VulnerabilitàAudit di ConfigurazioneSicurezza CloudDevSecOps
GitHubyandex-cloud-examples/yc-mk8s-copy-fail-mitigation

yc-mk8s-copy-fail-mitigation

DaemonSet per la mitigazione della vulnerabilità CVE-2026-31431 (Copy Fail)

Vedi Repository

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
10154 mesi faNon ancora revisionato

Mitigazione Copy Fail / Dirty Frag per Yandex Managed Kubernetes

Applicazione automatica della mitigazione per le vulnerabilità CVE-2026-31431, CVE-2026-43284 e CVE-2026-43500 nel kernel Linux su tutti i worker node del cluster Yandex Managed Kubernetes.

Descrizione della vulnerabilità

Identificatore CVE (CVE ID): CVE-2026-43284, CVE-2026-43500

Link al CVE: https://nvd.nist.gov/vuln/detail/CVE-2026-43284

Report originale:

  • Dirty Frag (PoC e write-up): https://github.com/V4bel/dirtyfrag
  • Copy Fail 2: Electric Boogaloo (PoC xfrm-ESP): https://github.com/0xdeadbeefnetwork/Copy_Fail2-Electric_Boogaloo
  • Mailing list oss-security: https://www.openwall.com/lists/oss-security/2026/05/07/8

Breve descrizione:

Dirty Frag è una classe di vulnerabilità logiche nel kernel Linux che consente a un utente locale non privilegiato di ottenere i privilegi di superutente (root). Lo sfruttamento combina due primitive di scrittura indipendenti nella page cache nelle sottosistemi xfrm-ESP e RxRPC, ciascuna delle quali è autosufficiente per l'elevazione dei privilegi.

Copy Fail 2: Electric Boogaloo è un PoC indipendente che sfrutta la primitiva xfrm-ESP (CVE-2026-43284). Per classe di vulnerabilità è analogo al Copy Fail originale (CVE-2026-31431), quindi questo DaemonSet mantiene la mitigazione sia per lo scenario AF_ALG originale sia per le nuove varianti Dirty Frag.

Attacco:

  • non richiede accesso remoto - solo un account locale non privilegiato
  • è un bug logico deterministico senza race condition - ha successo al primo tentativo
  • non causa kernel panic in caso di sfruttamento fallito
  • può essere utilizzato come primitiva di fuga dal container all'host, poiché la page cache è condivisa per l'intero node

La causa principale di entrambe le varianti è la stessa: quando si utilizza splice() / MSG_SPLICE_PAGES, il kernel inserisce le pagine della page cache direttamente nei frammenti dei buffer dei socket (skb). Le sottosistemi xfrm-ESP e RxRPC eseguono la decrittazione in-place su tali frammenti, senza verificare se siano privati. Di conseguenza, l'attaccante ottiene una scrittura controllata nella page cache di qualsiasi file leggibile.

Tecnologie interessate:

  • Kernel Linux, sottosistema net/ipv4/esp4.c / net/ipv6/esp6.c (xfrm-ESP)
  • Kernel Linux, sottosistema net/rxrpc/rxkad.c (RxRPC / RxKAD)
  • Chiamate di sistema splice() / vmsplice() in combinazione con socket UDP (ESP-in-UDP) e AF_RXRPC
  • Viene mantenuta separatamente la mitigazione del Copy Fail originale (CVE-2026-31431) tramite il blocco di AF_ALG (algif_aead)

La vulnerabilità non interessa direttamente AF_ALG (algif_aead) come parte di Dirty Frag - questa è una vulnerabilità separata Copy Fail (CVE-2026-31431). Inoltre non sono direttamente interessati dm-crypt / LUKS, kTLS, in-kernel TLS e IPsec in modalità tunnel senza incapsulamento UDP.

Vettore di attacco e livello di pericolosità secondo CVSS v.3.1:

Valutazione base: non assegnata al momento della pubblicazione.

Per natura, la vulnerabilità è analoga a Copy Fail (CVE-2026-31431, 7.8 HIGH, CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) - si tratta di un'elevazione locale dei privilegi senza race condition.

Cosa fa questo fix

Il DaemonSet automaticamente su ogni worker node del cluster:

  1. Verifica la disponibilità di AF_ALG - esegue un test rapido per lo scenario Copy Fail originale
  2. Blocca i moduli vulnerabili - crea /etc/modprobe.d/blacklist-lpe.conf con regole per algif_aead, esp4, esp6 e rxrpc
  3. Scarica i moduli - esegue rmmod per algif_aead, esp4, esp6 e rxrpc, se caricati
  4. Svuota la page cache e verifica la configurazione - pulisce le cache e verifica la presenza del file di configurazione
  5. Monitora lo stato - ogni ora verifica la presenza della configurazione e ricarica i moduli se necessario

Avvio rapido

1. Scaricare il DaemonSet

root@kitploit:~
wget https://raw.githubusercontent.com/yandex-cloud-examples/yc-mk8s-copy-fail-mitigation/main/copy-fail-mitigation-daemonset.yaml

Oppure clonare il repository:

root@kitploit:~
git clone https://github.com/yandex-cloud-examples/yc-mk8s-copy-fail-mitigation.git
cd yc-mk8s-copy-fail-mitigation

2. Applicare il fix

root@kitploit:~
kubectl apply -f copy-fail-mitigation-daemonset.yaml

3. Verificare lo stato dell'applicazione

root@kitploit:~
# Verificare lo stato del DaemonSet
kubectl get daemonset -n kube-system cve-2026-31431-fix

# Controllare su quanti node è stato applicato il fix
kubectl get pods -n kube-system -l app=cve-2026-31431-fix -o wide

4. Visualizzare i log di applicazione del fix

root@kitploit:~
# Log dell'initContainer (applicazione del fix)
kubectl logs -n kube-system -l app=cve-2026-31431-fix -c apply-fix

# Log del container principale (monitoraggio)
kubectl logs -n kube-system -l app=cve-2026-31431-fix -c monitor

Esempio di applicazione riuscita

root@kitploit:~
=========================================
Copy Fail / Dirty Frag mitigation for Yandex Managed K8s
Node: demo-ru-central1-a-1
Date: Thu May 08 14:00:00 UTC 2026
=========================================

Step 1: Checking vulnerability before fix...
❌ System is VULNERABLE - AF_ALG AEAD interface is accessible

Step 2: Creating modprobe configuration...
✓ Created /etc/modprobe.d/blacklist-lpe.conf

Step 3: Unloading vulnerable modules...
  ✓ algif_aead unloaded
  ✓ esp4 not loaded
  ✓ esp6 not loaded
  ✓ rxrpc not loaded

Step 3.5: Dropping system caches...
✓ System caches cleared

Step 4: Verifying the fix...
✓ Configuration file exists:
install algif_aead /bin/false
install esp4 /bin/false
install esp6 /bin/false
install rxrpc /bin/false

Step 5: Testing if vulnerability is fixed...
✓ AF_ALG AEAD interface is properly blocked

=========================================
✓ Mitigation applied successfully
=========================================

Verifica manuale della vulnerabilità

È possibile verificare manualmente la presenza della vulnerabilità su un node. Connettersi al node via SSH ed eseguire:

root@kitploit:~
# Verificare la disponibilità dello scenario Copy Fail originale tramite AF_ALG
python3 -c 'import socket; s = socket.socket(socket.AF_ALG, socket.SOCK_SEQPACKET, 0); s.bind(("aead","authencesn(hmac(sha256),cbc(aes))")); print("AF_ALG AEAD available - VULNERABLE")'

# Se viene stampato "AF_ALG AEAD available - VULNERABLE" - il sistema è vulnerabile
# Se viene restituito un errore - il sistema è protetto

Verificare la configurazione:

root@kitploit:~
# Verificare la presenza della configurazione di blocco
cat /etc/modprobe.d/blacklist-lpe.conf

# Output atteso:
# install algif_aead /bin/false
# install esp4 /bin/false
# install esp6 /bin/false
# install rxrpc /bin/false

Verificare che i moduli vulnerabili non siano caricati:

root@kitploit:~
lsmod | egrep 'algif_aead|esp4|esp6|rxrpc'

Rimozione del fix

Se è necessario rimuovere il DaemonSet:

root@kitploit:~
kubectl delete -f copy-fail-mitigation-daemonset.yaml

Importante: La rimozione del DaemonSet non rimuoverà i file di configurazione dai node. Il file /etc/modprobe.d/blacklist-lpe.conf rimarrà al suo posto e continuerà a proteggere il sistema.

Per rimuovere completamente il fix dai node, è necessario connettersi a ciascun node via SSH e rimuovere manualmente il file:

root@kitploit:~
rm /etc/modprobe.d/blacklist-lpe.conf

Dettagli tecnici

Permessi utilizzati:

  • hostPID: true - per l'accesso ai processi dell'host tramite nsenter
  • privileged: true - per la scrittura in /etc e lo scaricamento dei moduli del kernel
  • Volume mount / - per l'accesso al filesystem dell'host

Immagine: ubuntu:22.04

Risorse:

  • Init container: 10m CPU / 64Mi RAM (requests), 200m CPU / 128Mi RAM (limits)
  • Monitor container: 5m CPU / 32Mi RAM (requests), 50m CPU / 64Mi RAM (limits)

Namespace: kube-system

Compatibilità

  • ✓ Yandex Managed Kubernetes
  • ✓ Ubuntu 20.04
  • ✓ Ubuntu 22.04
  • ✓ Kubernetes 1.20+

Licenza

Apache License 2.0

Vedere LICENSE per i dettagli.

Supporto

In caso di problemi, creare un issue nel repository.

Scarica lo strumento