Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
joomla-levels-api — Joomla 6.1.3 - 高 - リモート - ACL - GET /api/v1/users/levels が閲覧レベルを漏洩する | Kitploit
ツール/GitHubGitHub/abraxas/joomla-levels-api
認証と認可脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテストAPIセキュリティラボと実践
GitHubabraxas/joomla-levels-api

joomla-levels-api

Joomla 6.1.3 - 高 - リモート - ACL - GET /api/v1/users/levels が閲覧レベルを漏洩する

リポジトリを見る
94日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - joomla-levels-api

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  joomla-levels-api

joomla-levels-api

クラス: 権限の取り残し 到達範囲: リモート

Joomla CMS 6.1.3 (0f2d4de) - Open Source Matters

管理者ユーザー -> 表示アクセスレベルの閲覧には com_users に対する core.admin が必要です(LevelController::allowSave および delete)。Groups webservice はすでに同様の処理を行っています(GroupsController、6.1.1)。LevelsController には allowAdd、allowEdit、delete のオーバーライドがないため、ApiController は core.manage と core.create を通過させてしまいます。

core.admin を持たずに core.login.api を付与された Manager クラスの API トークンは、UI が禁じている表示アクセスレベルを作成できます。

IDCVE 未採番
クラス権限の取り残し / 認可バイパス
到達範囲リモート(core.login.api を持つ API トークン)
CWECWE-863
CVSSMedium: 6.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
製品Joomla CMS
影響を受けるバージョン6.1.3 (0f2d4de4729eb951e0878fec98c7990da07915b2)
認証core.login.api と com_users の manage/create/edit を持つ Manager(グループ 6)用の API トークン。core.admin はなし。デフォルトの core.login.api は Super User のみ。
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

攻撃者ができること

非 Super User の API トークンを使用して、どのグループがどのページを閲覧できるかを変更します。この取り残しだけでは Super User になることはできません。これはコンテンツの可視性の制御であり、サイトの乗っ取りではありません。

権限メソッド / パス種類ラボで実証済みか推測か
表示アクセスレベルの作成POST /api/index.php/v1/users/levels JSON title、rules(グループ ID)完全性ラボで実証済み。HTTP 200、#__viewlevels id=7、title poc-level-JOOMLA-LEVELS-API-WITNESS
既存レベルの編集(グループリスト / タイトル)PATCH /api/index.php/v1/users/levels/{id}完全性推測。同じコントローラー、allowEdit なし。ラボでは作成のみ。
レベルの削除DELETE /api/index.php/v1/users/levels/{id}完全性 / ACL 行の可用性推測。同じオーバーライドの欠落。ラボでは DELETE を実行せず。
会員限定の記事、モジュール、メニュー項目の公開rules に Public / Guest / Registered を含む新規またはパッチ適用済みレベル偵察(コンテンツの可視性)#__viewlevels.rules からの推測。ラボでは行を挿入したが、稼働中の記事の ACL を変更してはいない。
Registered からページを隠す、または攻撃者のグループを Special レベルに追加する同じ PATCH / create完全性推測。同じストア。
API からのユーザーグループの変更POST /api/index.php/v1/users/groupsn/aラボで実証済み クローズ。HTTP 403(GroupsController core.admin)
管理者画面でユーザー -> 表示アクセスレベルを開くGET /administrator/index.php?option=com_users&view=levelsn/aラボで実証済み クローズ。HTTP 403
UI からのレベルの保存POST ... task=level.saven/aラボで実証済み クローズ。HTTP 403(LevelController::allowSave は core.admin を要求)
標準の Manager(core.login.api なし)で API にアクセスBearer トークン / X-Joomla-Tokenn/a推測でクローズ。デフォルトの core.login.api は Super User(グループ 8)のみ。このラボではまずグループ 6 に付与している。
Super User / インストーラー RCEn/an/aクローズ。Manager は Manager のまま。

発見の経緯

2026-07/08 の JSST の波の後、joomla/joomla-cms 6.1.3 を固定しました。Groups API はすでに core.admin を要求しています。View levels は依然として ApiController(core.manage と core.create / core.edit / core.delete)をすり抜けます。LevelsController の唯一の追加ロジックは rules の PATCH JSON デコードです。

修正済みの Groups の兄弟分:

public function allowAdd($data = [])
{
    return $this->app->getIdentity()->authorise('core.admin', $this->option);
}

管理者 UI:

protected function allowSave($data, $key = 'id')
{
    return $this->app->getIdentity()->authorise('core.admin', $this->option)
        && parent::allowSave($data, $key);
}

すでに記録済みの誤った道: Groups API をまだオープンとみなすこと(403 です); まず core.login.api を付与せずに標準の Manager として API にアクセスすること(デフォルトは Super User のみ、CVE-2026-71574 / 72531 / 48904 と同じセットアップ); UI の 403 をすべてと読むこと(取り残しは API です)。お芝居: リバースシェル。オラクルは API 200 と Groups 403 と UI 403 です。

同じ固定での取り残し: menu items API、media override、articles catid。

ラボ

python3 joomla-levels-api-Abraxas-Labs.py

または

cd lab
./run.sh

対象は http://127.0.0.1:19520 のみ。イメージは joomla:6.1.3-php8.3-apache と mariadb:11.4。

SUCCESS joomla-levels-api api-http=200 level-id=7 groups-api=403 ui-view=403 ui-save=403 JOOMLA-LEVELS-API-WITNESS

修正方法

GroupsController の core.admin の allowAdd / allowEdit / delete を LevelsController にコピーします。管理者 UI のゲートは維持します。

参考資料

  • github.com/joomla/joomla-cms タグ 6.1.3 (0f2d4de4729eb951e0878fec98c7990da07915b2)
  • LevelsController.php
  • 近傍の修正済み: Groups API core.admin (6.1.1) · CVE-2026-71574
  • 同じタグ: joomla-menu-items-api · joomla-media-override · joomla-articles-catid
  • CWE-863

ライセンス

GNU Affero GPL v3.0。LICENSE を参照。ループバックラボのみ。無保証。

ツールをダウンロード