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
setcred — CVE-2026-45250: overflow del buffer del kernel setcred in FreeBSD 14.4 (LPE) | Kitploit
Strumenti/GitHubGitHub/venglin/setcred
Escalation di PrivilegiFramework di ExploitAnalisi delle VulnerabilitàExploitShellcodePenetration TestingSviluppo PayloadBinary Exploitation
GitHubvenglin/setcred

setcred

CVE-2026-45250: overflow del buffer del kernel setcred in FreeBSD 14.4 (LPE)

Vedi Repository
22227 giorni faRevisionato da Kitploit

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

FreeBSD setcred(2) — artefatti di ricerca

Questa sottodirectory raccoglie il write-up e gli exploit funzionanti per il buffer overflow nello stack di setcred(2) nel kernel FreeBSD 14.x.

La vulnerabilità è completamente documentata in setcred.txt. La versione breve: kern_setcred_copyin_supp_groups() usa sizeof(*groups) dove groups è gid_t **, producendo un passo di 8 byte invece di 4 per una copyin() in un array a dimensione fissa nello stack del kernel. L'overflow è raggiungibile prima di qualsiasi controllo dei privilegi, da qualsiasi utente non privilegiato.

Questa repository cattura due percorsi di exploit funzionanti:

  • no-SMAP / no-SMEP — exp2_lpe_no_smap.c. Una singola syscall setcred(2) porta il thread chiamante a uid=0 reindirizzando la primitiva di catena a amd64_syscall+0x155 verso shellcode in spazio utente tramite un falso struct sysentvec.

  • SMAP / SMEP abilitati — exp_setcred_smap_zfs.c. Dirotta verso ZSTD_initCStream_advanced in zfs.ko, il cui corpo scrive td_ucred = rcx+1. Con rcx = K1 = parent_pargs - 1 (una qword piantata nello slab pargs di un figlio), il puntatore alle credenziali del thread chiamante finisce dentro lo slab pargs del genitore dove abbiamo piantato un falso struct ucred con cr_uid=0. Funziona su qualsiasi sistema FreeBSD 14.4 GENERIC con zfs.ko caricato (configurazione server tipica) e non richiede alcuna primitiva di info-leak del kernel.

Layout

root@kitploit:~
setcred/
+- setcred.txt          Write-up principale: vulnerabilità, entrambe le
|                       tecniche LPE, riferimenti ai PoC, STATO DEL FIX, cronologia.
|                       Puro ASCII.
+- exploits/            Raccolta curata di exploit.
    +- poc_dos.c                    PoC DoS minimale -- qualsiasi utente
    |                               manda in panic il kernel.
    +- exp2_lpe_no_smap.c           LPE completo su kernel senza SMAP/SMEP.
    +- exp_setcred_smap_zfs.c       LPE compatibile con SMAP/SMEP via zfs.ko
    |                               gadget ZSTD. Nessun info-leak.
    +- wrapper.c                    Piccolo launcher setuid-root → /bin/sh
    |                               installato in /tmp/rsh
    |                               da exp_setcred_smap_zfs.
    +- Makefile.setcred_smap_zfs    Pipeline di build lato guest per
    |                               il percorso SMAP/SMEP
    |                               (all, install, clean).
    +- README_setcred_smap_zfs.md   Write-up per l'utente finale sul
                                    percorso SMAP/SMEP.

Stato

  • Il DoS (qualsiasi utente manda in panic il kernel) e l'LPE completo senza SMAP/SMEP sono riproducibili con i rispettivi programmi in exploits/.

  • L'LPE completo con SMAP/SMEP abilitati è riproducibile tramite exp_setcred_smap_zfs.c su qualsiasi sistema FreeBSD 14.4 GENERIC con zfs.ko caricato. Vedere setcred.txt per la tecnica.

  • 14.4-RELEASE / stable/14 rimangono vulnerabili alla data del report. Il fix è arrivato in main il 2025-11-27 (commit 000d5b5) come effetto collaterale di un refactoring non correlato e non è stato backportato.

Scarica lo strumento