Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
setcred — CVE-2026-45250: FreeBSD 14.4 setcred カーネルバッファオーバーフロー (LPE) | Kitploit
ツール/GitHubGitHub/venglin/setcred
特権昇格エクスプロイトフレームワーク脆弱性分析エクスプロイトシェルコードペネトレーションテストペイロード開発バイナリエクスプロイト
GitHubvenglin/setcred

setcred

CVE-2026-45250: FreeBSD 14.4 setcred カーネルバッファオーバーフロー (LPE)

リポジトリを見る
22228日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

FreeBSD setcred(2) — 研究資料

このサブディレクトリには、FreeBSD 14.x カーネルにおける setcred(2) スタックバッファオーバーフローの解説記事と動作するエクスプロイトをまとめています。

脆弱性自体の詳細は setcred.txt に完全に記載されています。要旨は次のとおりです。 kern_setcred_copyin_supp_groups() は、groups が gid_t ** であるにも かかわらず sizeof(*groups) を使用しているため、固定サイズのカーネルスタック配列への copyin() で 4 バイトではなく 8 バイトのストライドが生成されます。このオーバーフローは、 権限チェックより前に、非特権ユーザーであれば誰でも到達可能です。

このリポジトリには、動作する2つのエクスプロイト経路を収録しています。

  • no-SMAP / no-SMEP — exp2_lpe_no_smap.c。偽の struct sysentvec を 介して amd64_syscall+0x155 のチェーンプリミティブをユーザー空間シェルコードへ リダイレクトすることで、単一の setcred(2) システムコールが呼び出しスレッドを uid=0 に切り替えます。

  • SMAP / SMEP 有効 — exp_setcred_smap_zfs.c。ハイジャック先は zfs.ko 内の ZSTD_initCStream_advanced で、その本体は td_ucred = rcx+1 を 書き込みます。rcx = K1 = parent_pargs - 1(子プロセスの pargs スラブに 埋め込んだ qword)とすることで、呼び出しスレッドの資格情報ポインタは親の pargs スラブ内に収まり、そこには cr_uid=0 を持つ偽の struct ucred を埋め込んで います。zfs.ko がロードされた(一般的なサーバー構成)任意の FreeBSD 14.4 GENERIC システムで動作し、カーネルの情報漏洩(info-leak)プリミティブは不要です。

構成

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.

ステータス

  • DoS(任意のユーザーがカーネルをパニックさせる)と、SMAP/SMEP なしでの完全な LPE は、exploits/ 内の対応するプログラムで再現可能です。

  • SMAP/SMEP が有効な環境での完全な LPE は、zfs.ko がロードされた任意の FreeBSD 14.4 GENERIC システム上で exp_setcred_smap_zfs.c により再現可能です。 手法の詳細は setcred.txt を参照してください。

  • 報告日時点で 14.4-RELEASE / stable/14 は脆弱なままです。修正は 2025-11-27 に 無関係のリファクタリングの副次的な結果として main に取り込まれました(コミット 000d5b5)が、バックポートされていません。

ツールをダウンロード