Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-43499-poc — # Weaponized proof-of-concept per CVE-2026-43499 (GhostLock), un bug del kernel Linux relativo a rtmutex che consente l'escalation locale dei privilegi. Include catene di exploit per singola distribuzione, documentazione tecnica e test di affidabilità. | Kitploit
Strumenti/GitHubGitHub/lkeld/cve-2026-43499-poc
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploitBinary Exploitation
GitHublkeld/cve-2026-43499-poc

CVE-2026-43499-poc

# Weaponized proof-of-concept per CVE-2026-43499 (GhostLock), un bug del kernel Linux relativo a rtmutex che consente l'escalation locale dei privilegi. Include catene di exploit per singola distribuzione, documentazione tecnica e test di affidabilità.

Vedi Repository
24922 giorni 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

Ricerca di weaponisation per CVE-2026-43499 (ghostlock). il bug del percorso proxy remove_water() di rtmutex che lascia il pi_blocked_on di un task appeso nel proprio stack frame kernel popato. La classe del bug e la strategia di exploit originale sono da attribuire a nebusec (il loro write-up qui) tutto in questo repo è il mio lavoro per-distribuzione:

ogni famiglia di kernel richiede primitive materialmente diverse ed è questo che lo rende così interessante.

Il trigger di Ghostlock è completamente non privilegiato (tre futex, due thread e nessun namespace). Il processo per trasformare il puntatore appeso in root è dove ogni distro diverge; tutto dipende dalla geometria dello stack frame, dalle mitigazioni e da cosa significhi "byte controllati a un indirizzo kernel noto", che cambiano tutti. Questo repo raccoglierà le chain per famiglia di target.

chain

TargetChainStagingStato
RHEL/CentOS 7 — 3.10.0-1160.102.1.el7el7/ — pagina physmap-alias + painter auxv + walk sched_setschedulerroot-in-namespace (container privilegiato)funzionante, stress test 40/40 su boot puliti
RHEL/CentOS 7 — 3.10.0-693.el7stessa chain, geometria dello stack frame misuratastessacomponenti validati 10/10; in attesa solo di uno stress test

vedi il WRITEUP.md di ogni sottodirectory per l'analisi tecnica completa, la root cause, perché la chain standard dell'era 6.x non si trasferisce, i risultati sulle primitive, cosa ho costruito al suo posto, le geometrie dello stack frame misurate e i dati relativi all'affidabilità.

la forma generale di ogni chain

futex PI exploit chain

dove le cose si fanno difficili - il walk valida il ->lock del waiter forgiato contro il lock trovato tramite esso (BUG_ON(w->lock != lock) su 3.10), quindi servono strutture fake in memoria indirizzabile dal kernel a un indirizzo che conosceresti. questo è ciò che varia enormemente per kernel (il trucco dell'area di ingresso CPU dell'era 6.x usato da nebusec non esiste su 3.10, el7 randomizza la mappa base diretta, ecc.). Ogni writeup documenta la propria risposta.

prerequisiti - leggi questo

il bug e il trigger: non servono privilegi, niente user namespaces, niente. qualsiasi utente locale funziona.

ogni weaponisation dichiara il proprio staging nel suo writeup. La chain el7 è staged da root-in-namespace (in pratica: qualsiasi RCE in un container privilegiato - questo è stato validato da un'istanza MYSQL tramite il suo percorso plugin UDF, che è una posizione molto tipica in cui trovarsi). Il lavoro lato kernel dopo lo staging usa solo:

  • /proc/self/pagemap con PFN reali (in-ns CAP_SYS_ADMIN)
  • /proc/kcore (in-ns CAP_SYS_RAWIO su el7)
  • /proc/kallsyms non mascherato (kptr_restrict=0 o CAP_SYSLOG)

Nessuno di questi è la vulnerabilità in sé, sono solo le comodità di staging che fanno da sostituto per le info leak che devo ancora costruire. Su el7 in particolare, una chain completamente non privilegiata è bloccata per ragioni strutturali (il BUG_ON del 3.10, niente CEA, nessuna coppia fake-lock statica nel .data del kernel, gating PFN di pagemap) Il writeup el7 ha l'analisi completa e le direzioni di ricerca, principalmente una primitiva di info-leak dell'indirizzo head

note di sicurezza

  • Ogni chain qui è testata contro bench corrispondenti esatti con KASLR e randomizzazione delle regioni di memoria abilitate sotto stress casuale (boot freschi, timing con jitter, posizionamento casuale delle pagine).
  • Dove una chain potrebbe perdere la sua race, aborta prima di toccare il kernel piuttosto che fare il walk di un waiter mezzo forgiato. Su host con panic_on_oops=1, un walk sbagliato causerà un panic e una macchina morta, quindi trattalo come un'impostazione parte del tuo modello di minaccia quando testi
  • Non eseguirlo su host che non possiedi o per cui non sei autorizzato a testare :)

struttura

root@kitploit:~
el7/
  WRITEUP.md        writeup tecnico completo per la chain el7
  ghostlock_el7.c   poc in un singolo file per entrambi i kernel testati

riferimenti

  • NebuSec, IonStack part II: GhostLock — https://nebusec.ai/research/ionstack-part-2/
  • Fix: 3bfdc63936dd ("rtmutex: Use waiter::task instead of current in remove_waiter()"); follow-up NPD 40a25d59e85b
  • Range affetto: v2.6.39-rc1 → v7.1-rc1 (ogni distro dal 2011)
Scarica lo strumento