Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
setcred — CVE-2026-45250: FreeBSD 14.4 setcred Kernel-Pufferüberlauf (LPE) | Kitploit
Tools/GitHubGitHub/venglin/setcred
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationShellcodePenetrationstestsPayload-EntwicklungBinary-Exploitation
GitHubvenglin/setcred

setcred

CVE-2026-45250: FreeBSD 14.4 setcred Kernel-Pufferüberlauf (LPE)

Repository anzeigen
222vor 28 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

FreeBSD setcred(2) — Forschungsartefakte

Dieses Unterverzeichnis enthält die Dokumentation und funktionierende Exploits für den Stack-Pufferüberlauf in setcred(2) im FreeBSD-14.x-Kernel.

Die Schwachstelle selbst ist in setcred.txt vollständig dokumentiert. Die Kurzfassung: kern_setcred_copyin_supp_groups() verwendet sizeof(*groups), wobei groups vom Typ gid_t ** ist, was für ein copyin() in ein Array fester Größe auf dem Kernel-Stack eine Schrittweite von 8 Bytes statt 4 Bytes ergibt. Der Überlauf ist vor jeder Privilegienprüfung durch jeden unprivilegierten Benutzer erreichbar.

Dieses Repository enthält zwei funktionierende Exploit-Pfade:

  • no-SMAP / no-SMEP — exp2_lpe_no_smap.c. Ein einzelner setcred(2)-Systemaufruf setzt die uid des aufrufenden Threads auf 0, indem die Chain-Primitive bei amd64_syscall+0x155 über eine gefälschte struct sysentvec auf User-Space-Shellcode umgeleitet wird.

  • SMAP / SMEP aktiviert — exp_setcred_smap_zfs.c. Entführt den Kontrollfluss zu ZSTD_initCStream_advanced in zfs.ko, dessen Rumpf td_ucred = rcx+1 schreibt. Mit rcx = K1 = parent_pargs - 1 (einem Qword, das in einem pargs-Slab eines Kindprozesses platziert wurde), landet der Credential-Zeiger des aufrufenden Threads im pargs-Slab des Elternprozesses, in dem eine gefälschte struct ucred mit cr_uid=0 platziert wurde. Funktioniert auf jedem FreeBSD-14.4-GENERIC-System mit geladenem zfs.ko (typische Serverkonfiguration) und erfordert keine Kernel-Info-Leak-Primitive.

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.

Status

  • DoS (jeder Benutzer kann einen Kernel-Panic auslösen) und vollständiger LPE ohne SMAP/SMEP sind mit den entsprechenden Programmen in exploits/ reproduzierbar.

  • Vollständiger LPE mit aktiviertem SMAP/SMEP ist über exp_setcred_smap_zfs.c auf jedem FreeBSD-14.4-GENERIC-System mit geladenem zfs.ko reproduzierbar. Siehe setcred.txt für die Technik.

  • 14.4-RELEASE / stable/14 bleiben zum Zeitpunkt des Berichts verwundbar. Der Fix landete am 2025-11-27 (Commit 000d5b5) als Nebeneffekt eines unabhängigen Refactorings in main und wurde nicht zurückportiert.

Tool herunterladen