
CVE-2026-21440の概念実証エクスプロイト。AdonisJSのマルチパートアップロードにおける重大なパストラバーサルで、任意のファイル書き込みとリモートコード実行を可能にします。
| フィールド | 値 |
|---|
| CVE ID | CVE-2026-21440 |
| 深刻度 | 🔴 重大 |
| CVSS v4.0 | 9.2 |
| CWE | CWE-22(パストラバーサル) |
| 攻撃ベクトル | ネットワーク |
| 認証の必要性 | ❌ 不要 |
AdonisJS は、マルチパートファイルアップロード中にユーザー指定のファイル名を不適切に信頼しています。
開発者が以下のコードを呼び出すと:
MultipartFile.move()
厳密なサニタイズなしでは、攻撃者は次のようなファイル名を送信できます:
../../../../app/config/startup.js
これにより、意図したアップロードディレクトリを脱出し、サーバー上の任意の場所にファイルを書き込むことが可能になります。
攻撃者は以下のことを実行できる可能性があります:
これにより、この脆弱性は公開ファイルアップロードエンドポイントにとって特に危険なものとなります。
@adonisjs/bodyparser ≤ 10.1.111.x プレリリース 11.0.0-next.6 より前➡️ できるだけ早くパッチ適用済みバージョンにアップグレードしてください。
まだアップグレードできない場合:
../、絶対パス、ヌルバイトを拒否)MultipartFile.move() で安全なオプションを使用する依存関係をインストール
pip install requests
スクリプトを保存
Python コード全体をコピーし、cve_2026_21440_poc.py として保存します
アップロードエンドポイントを見つける
ターゲットのマルチパートファイルアップロード URL(例:/upload、/api/files)を特定します。ブラウザまたは curl でテストします。
まず安全なテストを実行
python3 cve_2026_21440_poc.py http://target:port/upload --safe --random
成功を確認
脆弱な場合、シェルを試す(任意)
python3 cve_2026_21440_poc.py http://target:port/upload --shell php --depth 5
シェルを検証
アップロードしたファイルにアクセスし(例:http://target/shell.php?cmd=whoami)、コマンド出力を確認します。
許可されたターゲットにのみ使用してください!まず --safe から始めてください。

╔══════════════════════════════════════════════════════════════╗
║ ⚠️ 免責事項 ⚠️ ║
╚══════════════════════════════════════════════════════════════╝
この CVE-2026-21440 概念実証スクリプトは、 教育、研究、および許可されたセキュリティテストの目的でのみ提供されます。
❌ 以下の用途には使用できます: • 自分が所有するシステム • 明示的な書面によるテスト許可を得たシステム
❌ 以下の用途には使用できません: • いかなるシステムへの不正アクセス • いかなる種類の違法行為 • 悪意のある目的
作者および配布者は、以下について一切の責任を負いません: • このツールの誤用 • システムに生じた損害 • 不正使用による法的結果
許可なくシステムに対してこのスクリプトを使用することは、 ほとんどの国で法律違反となります(例:米国の CFAA、 英国の Computer Misuse Act)。
このツールを使用することで、以下に同意したものとみなされます: • 自分の行動に対して全責任を負うこと • 適用されるすべての法律を遵守すること
倫理的に行動し、責任を持ってテストしてください。 脆弱性はベンダーに報告してください。
✦ ハックするなら、合法的に ✦