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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/yallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミングペイロード開発
GitHubyallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla

CVE-2026-21627---Tassos-Novarain-Framework-plg_system_nrframework-Exploit---Joomla

Pythonエクスプロイト for CVE-2026-21627。JoomlaのNovarain Frameworkにおける未認証の任意PHPファイルインクルードを悪用し、ファイルのアップロード、削除、およびRCEを可能にします。

リポジトリを見る
6ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-21627

JoomlaのNovarain Framework(nrframework)における認証なし任意ファイルインクルード

CVSS Joomla Python


概要

Tassos/Novarain Framework(plg_system_nrframework)Joomlaプラグインの重大な脆弱性により、認証されていない攻撃者がサーバー上の任意のPHPファイルをインクルードし、任意のクラスをインスタンス化し、組み込みのガジェットクラスと連鎖させることで、任意のファイルアップロードおよび任意のファイル削除を認証なしで達成できます。

CVE IDCVE-2026-21627
CVSSスコア9.5(Critical)
プラグインplg_system_nrframework(Tassos Framework / Novarain Framework)
影響を受けるバージョン4.10.14から6.0.37
修正バージョン6.0.38以降
CMSJoomla 3.x、4.x、5.x

nrframeworkプラグインは、Tassos.grのConvert Forms、Engage Box、Google Structured Dataなど、いくつかの人気のあるJoomla拡張機能にバンドルされています。

脆弱性の詳細

nrframework.phpのajaxTaskInclude()メソッドは、$non_admin_tasks配列を介してフロントエンド(非管理者)アクセス用に明示的にホワイトリスト登録されています。このメソッドは、ユーザーが制御できる3つのパラメータを受け入れます:

  • path — RAW入力フィルタを使用(サニタイズなし、パストラバーサル可能)
  • file — デフォルトのJoomla入力フィルタを使用
  • class — インクルード後にインスタンス化するクラス名

連結されたパス$path . $file . '.php'は@include_onceに直接渡され、任意のPHPファイルのインクルードが可能になります。インクルード後、指定されたクラスがインスタンス化され、そのonAJAX()メソッドがユーザーが制御するパラメータで呼び出されます。

攻撃プリミティブ

プリミティブガジェット深刻度説明
ファイルインクルードajaxTaskInclude()Criticalサーバー上の任意の.phpファイルをインクルード
ファイル削除JFormFieldNRInlineFileUpload::onRemove()Criticalパス検証なしのunlink() — Webサーバーが書き込み可能な任意のファイルを削除
ファイルアップロードJFormFieldNRInlineFileUpload::onUpload()High書き込み可能なWebアクセス可能な任意のディレクトリにテキストファイルをアップロード
パス情報漏えいアップロード応答MediumJSONレスポンスで完全なファイルシステムパスが漏えい

使用方法

root@kitploit:~
python3 cve_2026_21627.py --target <URL> --mode <MODE> [OPTIONS]

モード

モード説明リスク
verify脆弱性の存在を確認安全 / 読み取り専用
upload制御されたディレクトリにファイルをアップロード中
deleteサーバー上の任意のファイルを削除破壊的
rce完全なRCEチェーン(アップロード+実行)を試行高
info偵察用に任意のPHPファイルをインクルード中

例

脆弱性の確認:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode verify

概念実証ファイルのアップロード:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode upload --shell-type txt

SSIシェルのアップロード(Apache mod_includeが必要):

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode upload --shell-type shtml

RCEチェーンの試行:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode rce --cmd "id"

ファイルの削除(破壊的):

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode delete --file-path /var/www/html/test.txt

オプション

root@kitploit:~
--target, -t       ターゲットURL(必須)
--mode, -m         エクスプロイトモード: verify|upload|delete|rce|info(必須)
--sef-prefix       Joomla SEF URLプレフィックス(デフォルト: /it/)
--delay            リクエスト間の遅延(秒)(デフォルト: 2.5)
--proxy            HTTPプロキシ(例: http://127.0.0.1:8080)
--no-ssl-verify    SSL証明書の検証を無効化

アップロードモード:
  --shell-type     ファイルタイプ: shtml|csv|txt|html(デフォルト: shtml)
  --upload-dir     JPATH_ROOTからの相対アップロードディレクトリ(デフォルト: images)
  --custom-content アップロードするカスタムファイルコンテンツ

削除モード:
  --file-path      削除するファイルの完全なサーバーパス

RCEモード:
  --cmd            実行するコマンド(デフォルト: id)

情報モード:
  --php-path       JPATH_SITEからの相対PHPファイルパス
  --php-file       .php拡張子なしのPHPファイル名
  --php-class      インスタンス化するPHPクラス

動作の仕組み

root@kitploit:~
┌──────────────┐    ┌───────────────────┐    ┌─────────────────────┐
│   攻撃者      │───>│  onAjaxNrframework │───>│  ajaxTaskInclude()  │
│              │    │  (AJAXルーター)     │    │                     │
│ task=include │    │  includeは         │    │ path = RAW入力      │
│ path=...     │    │  $non_admin_tasks  │    │ @include_once $path │
│ file=...     │    │  (認証不要)         │    │ new $class()->onAJAX│
│ class=...    │    └───────────────────┘    └──────────┬──────────┘
└──────────────┘                                        │
                                                        v
                               ┌─────────────────────────────────────┐
                               │  JFormFieldNRInlineFileUpload       │
                               │  (ガジェットクラス)                  │
                               │                                     │
                               │  onAjax() ──> onUpload()  [書き込み] │
                               │           ──> onRemove()  [削除]    │
                               └─────────────────────────────────────┘
  1. セッションとCSRF — Joomlaはセッションを遅延作成します。エクスプロイトはAJAXエンドポイントをプローブしてセッション作成をトリガーし、ホームページのHTMLからCSRFトークンを抽出します。
  2. ファイルインクルード — includeタスクが、ガジェットファイルを指す制御されたpath(RAWフィルタ = サニタイズなし)で呼び出されます。
  3. ガジェット実行 — インクルードされたJFormFieldNRInlineFileUploadクラスは、ファイル書き込み用のonUpload()とファイル削除用のonRemove()を提供しますが、どちらも入力検証が不十分です。

要件

  • Python 3.7以上
  • requestsライブラリ
root@kitploit:~
pip install requests

検出

アクセスログでエクスプロイト試行を監視します:

root@kitploit:~
# Apache/Nginxログパターン
grep -E "option=com_ajax.*plugin=nrframework.*task=include" access.log

WAFルール — 以下に一致するリクエストをブロック:

root@kitploit:~
option=com_ajax.*plugin=nrframework.*task=include.*path=

侵害後の監査:

  • images/およびその他の書き込み可能なディレクトリに予期しないファイルがないか確認
  • configuration.phpと.htaccessの整合性を検証
  • @include_once警告がないかサーバーエラーログを確認

修復

  1. nrframeworkを直ちにバージョン6.0.38以降に更新
  2. パッチはajaxTaskInclude()を完全に削除し、厳格なハンドラレジストリ(AjaxHandlerRegistry)に置き換えます

タイムライン

日付イベント
2026-02許可されたペネトレーションテスト中に脆弱性を発見
2026-02エクスプロイトを作成
2026-02公開開示

免責事項

このツールは許可されたセキュリティテストおよび教育目的のみで提供されています。明示的な書面による許可を得たシステムに対してのみこのエクスプロイトを使用してください。コンピュータシステムへの不正アクセスは違法です。著者は誤用に対する責任を負いません。

著者

Yallasec — yallasec.com

Arcangelo Saracino — @arkango

ツールをダウンロード