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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
nginx-ui-CVE-2026-42221-CVE-2026-42238- — Dockerベースのラボ環境で、nginx-uiにおける2つの認証不要のAPI脆弱性(CVE-2026-42221、CVE-2026-42238)を検証・悪用し、パッチ適用済みバージョンとの比較および教育的な解説を提供します。 | Kitploit
ツール/GitHubGitHub/fuchiuebusi-lab/nginx-ui-cve-2026-42221-cve-2026-42238-
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubfuchiuebusi-lab/nginx-ui-cve-2026-42221-cve-2026-42238-

nginx-ui-CVE-2026-42221-CVE-2026-42238-

Dockerベースのラボ環境で、nginx-uiにおける2つの認証不要のAPI脆弱性(CVE-2026-42221、CVE-2026-42238)を検証・悪用し、パッチ適用済みバージョンとの比較および教育的な解説を提供します。

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
1ヶ月前未レビュー

nginx-ui CVE 検証環境

nginx-ui(Nginx の Web GUI 管理ツール)に報告された2つの CVE を、Docker 環境で実際に検証するためのリポジトリです。

  • CVE-2026-42221: 未認証での管理者アカウント乗っ取り
  • CVE-2026-42238: 未認証バックアップ復元によるコマンド実行

免責事項
本リポジトリの検証内容は、自分が管理する隔離されたローカル環境のみを対象としています。
許可のない第三者のシステムへ同様の手法を使用することは不正アクセス禁止法に違反します。


詳細記事

検証の過程・考察・学んだことは Qiita 記事にまとめています。

nginx-ui の CVE を実際に試してみた:「脆弱性」と思ったら設計の話だった


脆弱性の概要

CVE概要影響バージョン修正バージョン
CVE-2026-42221セットアップ前の /api/install が認証なしでアクセス可能。攻撃者が管理者アカウントを先に登録できるv2.3.7 以前v2.3.8
CVE-2026-42238セットアップ前の /api/restore が認証なしでアクセス可能。悪意ある app.ini を注入することで任意コマンドを root で実行できるv2.3.7 以前v2.3.8

2つの CVE は根本原因が同一(セットアップ前の API 窓が無防備)であり、v2.3.8 ではインストールシークレット方式の導入により1つのミドルウェア追加で両方が修正された。


ディレクトリ構成

root@kitploit:~
.
├── nginx_lab/              # 脆弱バージョン (v2.3.7) の検証環境 → port 8080
│   ├── Dockerfile          # 起動ループ回避のための初期設定を含むイメージ定義
│   ├── docker-compose.yml
│   ├── nginx.conf          # sites-enabled / stream ブロック修正済みの設定
│   ├── init-app.ini        # app.ini の初期テンプレート
│   └── entrypoint.sh       # コンテナ起動時の初期化スクリプト
├── nginx_lab_patched/      # 修正済みバージョン (v2.3.8) の検証環境 → port 8081
│   ├── Dockerfile
│   ├── docker-compose.yml
│   ├── nginx.conf
│   ├── init-app.ini
│   └── entrypoint.sh
├── scripts/
│   ├── exploit_42221.py    # CVE-2026-42221 の攻撃スクリプト
│   ├── encrypt_password.py # RSA 暗号化のユーティリティ
│   └── test_patched.py     # v2.3.8 (port 8081) でパッチ適用を確認するスクリプト
├── Qiita.md                # Qiita 投稿原稿
└── 学習プラン.md

前提条件

  • Docker / Docker Compose
  • Python 3.x
  • pycryptodome ライブラリ
root@kitploit:~
pip install pycryptodome

使い方

1. 脆弱バージョン (v2.3.7) を起動する

root@kitploit:~
cd nginx_lab
docker compose build
docker compose up -d

起動確認:

root@kitploit:~
curl http://localhost:8080/api/install
# → {"lock":false,"timeout":false} が返れば OK

ハマりポイント:素の uozi/nginx-ui:v2.3.7 イメージはそのままでは起動ループになります。sites-enabled 等のディレクトリが存在しないためです。本リポジトリの Dockerfile でこれらを事前に用意しています。

2. CVE-2026-42221 を再現する

root@kitploit:~
cd scripts
python exploit_42221.py

成功すると attacker アカウントで http://localhost:8080 にログインできるようになります。

3. 修正済みバージョン (v2.3.8) を起動する

root@kitploit:~
cd nginx_lab_patched
docker compose build
docker compose up -d

v2.3.8 では初回セットアップにインストールシークレットが必要です。コンテナ起動後にシークレットを確認します。

root@kitploit:~
docker exec nginx-ui-patched cat /etc/nginx-ui/.install_secret

セットアップ画面 http://localhost:8081 でこの値を使って管理者を登録します。

4. パッチ適用済みバージョンで攻撃が通らないことを確認する

root@kitploit:~
cd scripts
python test_patched.py

[OK] 攻撃失敗(修正済み) が出力されれば、パッチが正しく機能しています。

5. 環境の削除

root@kitploit:~
# 脆弱バージョン
cd nginx_lab
docker compose down -v

# 修正済みバージョン
cd nginx_lab_patched
docker compose down -v
ツールをダウンロード