
CVE-2026-63030用の概念実証エクスプロイト。脆弱性を実証し、セキュリティ評価と検証のための再現手順を提供します。
悪意のあるDockerイメージがLinuxカーネルのunix_gcメモリ解放後使用(use-after-free)の脆弱性を悪用して特権昇格を実現する方法を解説・再現する、教育目的の概念実証(PoC)です。
警告(免責事項):このリポジトリは、教育およびセキュリティ研究のみを目的としています。著者は、この情報の悪用によって生じたいかなる損害や違法行為についても責任を負いません。このツールを自分の環境以外で使用する場合は、事前に許可を取得してください。
このPoCは、Vulnerability-Lookupのリポジトリから発見されたCVE-2026-63030に基づいています。
CVE-2026-63030は、Linuxカーネルのガベージコレクタであるunix_gcにおけるメモリ解放後使用(use-after-free)の脆弱性です。特定の条件下では、ローカルの低権限ユーザーが細工したAF_UNIXソケットを使用してカーネルメモリを破壊し、特権をrootまで昇格させることができます。
このリポジトリは、同様のファジング/競合状態の悪用手法を用いてこの問題を再現するためのものです。
unix_gcガベージコレクタが、ソケットファイルディスクリプタ(fd)がスキャンされている最中に、ユーザー空間(setsockopt(SCM_RIGHTS))からソケットファイルディスクリプタを解放します。unix_gcは、fdをstruct file *としてではなく**struct socket *として誤って参照**します。modprobe_pathを上書きしてroot権限でコードを実行できます。# リポジトリをクローン
git clone https://github.com/0dayCTF/CVE-2026-63030.git
cd CVE-2026-63030
# エクスプロイトをビルド
gcc -o exploit exploit.c -lpthread
# ターゲット環境(脆弱なカーネル)上で実行
./exploit
# 成功すると、rootシェルが表示されます
# whoami
# root
| ディストリビューション | カーネルバージョン | アーキテクチャ | 結果 |
|---|---|---|---|
| Ubuntu 24.04.1 | 6.8.0-31-generic | x86_64 | ⚠️ 要検証 |
| Debian 12 | 6.1.0-18-amd64 | x86_64 | ⚠️ 要検証 |
apt-get source linux-image-$(uname -r) を使用するか、kernel.ubuntu.com からカーネルバイナリをダウンロードします。https://kernel.ubuntu.com/mainline/ のメインラインカーネルを直接ダウンロードして、qemu-system-x86_64 -kernel vmlinuz -initrd initrd.img で起動します。net/unix/garbage.c(unix_gcガベージコレクタ)6.8.0-31-generic 以降)unprivileged_userns_clone を無効化する(可能な場合)SCM_RIGHTS の悪用を制限する