Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/venglin/setcred
Escalade de PrivilègesFrameworks d'ExploitationAnalyse des VulnérabilitésExploitationShellcodeTests d'IntrusionDéveloppement de Charges UtilesExploitation de Binaires
GitHubvenglin/setcred

setcred

CVE-2026-45250 : débordement de tampon du noyau setcred de FreeBSD 14.4 (LPE)

Voir le dépôt
2221il y a 1 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

FreeBSD setcred(2) — artefacts de recherche

Ce sous-répertoire rassemble le rapport et les exploits fonctionnels pour le débordement de tampon de pile de setcred(2) dans le noyau FreeBSD 14.x.

La vulnérabilité elle-même est entièrement documentée dans setcred.txt. La version courte : kern_setcred_copyin_supp_groups() utilise sizeof(*groups) où groups est gid_t **, produisant un pas de 8 octets au lieu de 4 pour un copyin() dans un tableau de pile noyau de taille fixe. Le débordement est accessible avant toute vérification de privilège, par tout utilisateur non privilégié.

Ce dépôt capture deux chemins d'exploit fonctionnels :

  • sans SMAP / sans SMEP — exp2_lpe_no_smap.c. Un seul appel système setcred(2) bascule le thread appelant vers uid=0 en redirigeant la primitive de chaîne à amd64_syscall+0x155 vers du shellcode en espace utilisateur via une fausse struct sysentvec.

  • SMAP / SMEP activé — exp_setcred_smap_zfs.c. Détourne vers ZSTD_initCStream_advanced dans zfs.ko dont le corps écrit td_ucred = rcx+1. Avec rcx = K1 = parent_pargs - 1 (un qword planté dans le slab pargs d'un enfant), le pointeur de credential du thread appelant atterrit à l'intérieur du slab pargs du parent où nous avons planté une fausse struct ucred avec cr_uid=0. Fonctionne sur tout système FreeBSD 14.4 GENERIC avec zfs.ko chargé (configuration serveur typique) et ne nécessite aucune primitive de fuite d'information du noyau.

Layout

root@kitploit:~
setcred/
+- setcred.txt          Primary write-up: vulnerability, both LPE
|                       techniques, PoC pointers, FIX STATUS, timeline.
|                       Pure ASCII.
+- exploits/            Curated exploit drop.
    +- poc_dos.c                    Minimal DoS PoC -- any user
    |                               panics kernel.
    +- exp2_lpe_no_smap.c           Full LPE on no-SMAP/SMEP kernel.
    +- exp_setcred_smap_zfs.c       SMAP/SMEP-safe LPE via zfs.ko
    |                               ZSTD gadget.  No info-leak.
    +- wrapper.c                    Tiny setuid-root → /bin/sh
    |                               launcher installed at /tmp/rsh
    |                               by exp_setcred_smap_zfs.
    +- Makefile.setcred_smap_zfs    Guest-side build pipeline for
    |                               the SMAP/SMEP path
    |                               (all, install, clean).
    +- README_setcred_smap_zfs.md   End-user write-up for the
                                    SMAP/SMEP path.

Statut

  • Le DoS (tout utilisateur fait paniquer le noyau) et l'élévation de privilèges complète sans SMAP/SMEP sont reproductibles par les programmes correspondants dans exploits/.

  • L'élévation de privilèges complète avec SMAP/SMEP activé est reproductible via exp_setcred_smap_zfs.c sur tout système FreeBSD 14.4 GENERIC avec zfs.ko chargé. Voir setcred.txt pour la technique.

  • 14.4-RELEASE / stable/14 restent vulnérables à la date du rapport. Le correctif a atterri dans main le 2025-11-27 (commit 000d5b5) comme effet secondaire d'un refactoring non lié et n'a pas été rétroporté.

Télécharger l’outil