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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
exploit-CVE-2023-3460 — CVE-2023-3460のエクスプロイトと分析。Ultimate Member WordPressプラグインにおける重大な権限昇格の脆弱性であり、再現環境と緩和策のガイダンスを含む。 | Kitploit
ツール/GitHubGitHub/julienbrs/exploit-cve-2023-3460
特権昇格脆弱性分析エクスプロイトウェブアプリケーション悪用学習と教育ラボと実践
GitHubjulienbrs/exploit-cve-2023-3460

exploit-CVE-2023-3460

CVE-2023-3460のエクスプロイトと分析。Ultimate Member WordPressプラグインにおける重大な権限昇格の脆弱性であり、再現環境と緩和策のガイダンスを含む。

リポジトリを見る
2年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

title: "Sécurité des SI - CVE 2023-38408"

CVE-2023-3460の分析と悪用

CVE IDCVSSスコア発見日影響を受けるプラグイン脆弱性の種類
CVE-2023-3460Critical07/04/2023Ultimate Member未承認の管理者アクセス

目次

  • はじめに
  • 脆弱性の一般的なメカニズム
    • WordPressにおけるロール管理のメカニズム
    • Ultimate Memberの不適切な実装
  • CVE-2023-3460のセキュリティ目標
    • 前提条件
    • 一般的なユーザー
    • 保護すべき資産
    • 脅威
    • セキュリティ機能
  • 典型的なアーキテクチャ
  • 脆弱性の緩和策
  • 脆弱性の実験
    • 再現
    • exploit.pyの詳細
  • 付録
    • 用語集
    • 出典

はじめに

この研究は、WordPressのプラグイン「Ultimate Member」に影響を与える重大な脆弱性であるCVE¹-2023-3460に焦点を当てています。この脆弱性により、権限のない権限昇格が可能になります。このプラグインは広く普及しており、WordPressサイトでのプロフィール管理に使用されています。この脆弱性は、攻撃者が管理者権限を取得し、サイトを完全に制御できるようになるため、重大なリスクをもたらします。そのため、この欠陥はNIST²によってCVSSスケールで重大かつ9.1と評価されました。

脆弱性の一般的なメカニズム

CVE-2023-3460は、プラグインによるロールと権限の管理における欠陥を悪用します。WordPressでは、WP_Capabilities³関数がユーザーのロールと権限を管理するために使用されます。この関数により、管理者は各ユーザーロールに特定の権限を定義できます。ただし、この関数の誤用は権限昇格の脆弱性につながる可能性があります。

Ultimate Memberの場合、この脆弱性により、攻撃者はWPの権限チェックを回避し、サイトへの管理者レベルのアクセスを取得できます。このプラグインは、ユーザーが操作すべきではない事前定義されたユーザーメタデータキーのリストを使用して動作します。しかし、このブロックリストに基づくセキュリティアプローチは、回避の可能性を残すため、しばしば不十分です。

WordPressにおけるロール管理のメカニズム

WordPressは、wp_capabilitiesと呼ばれる構造を通じてユーザーのロールと権限を管理します。この構造は、ユーザーに付与されたさまざまなロールと権限のシリアル化された表現です。たとえば、管理者は編集者や投稿者とは異なる一連の権限を持ちます。これらの権限は、wp_usermetaテーブル内のシリアル化された配列としてWordPressデータベースに保存されます。

Ultimate Memberの不適切な実装

CVE-2023-3460の欠陥は、Ultimate Memberによるロールと権限の管理の実装に起因します。このプラグインは、ユーザーが操作すべきではない事前定義されたユーザーメタデータキーのリストを使用して動作します。このリストは、アカウント作成時にユーザーがこれらのキーを保存しようとしているかどうかを確認するために使用されます。このアプローチは、既知の有害な入力をブロックする(ブロックリスト)ことが直感的に見えるかもしれませんが、実際には予想以上に複雑であり、セキュリティの回避の余地を残すことが多い、一般的なセキュリティのアンチパターンです。

ここでは、Ultimate Memberは、ユーザー登録時に送信されたメタデータの不十分な検証を使用しています。このプラグインは、is_metakey_bannedと呼ばれる関数を使用して、ユーザーが送信したメタデータが許可されているかどうかを確認します。この関数は、送信されたメタデータが禁止されたメタデータのリストに存在するかどうかを確認します。存在する場合、関数はtrueを返し、ユーザー登録はブロックされます。それ以外の場合、関数はfalseを返し、ユーザー登録が許可されます。

ただし、WordPressは一部のアクセント付き文字をデフォルト文字として受け入れます。ユーザーがアクセント付き文字を含むメタデータを送信した場合、is_metakey_banned関数はそれらを検出せず、ユーザー登録が許可されます。

CVE-2023-3460のセキュリティ目標

前提条件

組織のセキュリティ

Ultimate Memberプラグインは、小さな個人ブログから大規模なeコマースサイトまで、さまざまな環境で広く使用されています。エンドユーザーやサイト管理者の情報セキュリティスキルについて特定の前提を置くことはできません。

物理的セキュリティ

WordPressサイトをホストするサーバーは、通常、安全なデータセンターに配置されています。個人サイトの場合、物理的セキュリティはユーザーの個々の環境に依存します。

論理的セキュリティ

Ultimate Memberプラグインが公式の指示に従って正しくインストールおよび設定されていることを前提としています。WordPressサイトは、基本的なセキュリティ対策が講じられた状態で最新に維持されていることを前提としています。

一般的なユーザー

  • サイト管理者:プラグインの設定とサイト全体のセキュリティを管理します。
  • サイトユーザー:Ultimate Memberプラグインを介してサイトに登録し、操作します。
  • 開発者:特定のニーズに合わせてプラグインの機能をカスタマイズおよび拡張します。

保護すべき資産

  • B1 ユーザーデータの機密性:個人情報とログイン認証情報。
  • B2 Webサイトの整合性:サイトのコンテンツや構造の不正な変更の防止。
  • B3 Ultimate Memberプラグインの整合性:プラグインのソースコードと機能。

脅威

  • M1 不正アクセス:攻撃者が脆弱性を介して管理者権限を取得します。
  • M2 悪意のあるコードの注入:コードの注入によるサイトの動作の変更。
  • M3 データ漏洩:ユーザーの機密データへの不正アクセス。
  • M4 評判の低下:サイトの侵害による評判への悪影響。

脅威による資産のカバレッジ

7.5 セキュリティ機能

  • F1 安全なロール管理:ロールと権限を管理するための堅牢なメカニズム。
  • F2 入力検証:悪意のあるデータの注入を防ぐための、送信されたデータの厳格なチェック。
  • F3 セキュリティアップデートとパッチ:既知の脆弱性を修正するためのプラグインの定期的な更新。
  • F4 トレーニングと意識向上:管理者とユーザーにセキュリティのベストプラクティスについて知らせる。

典型的なアーキテクチャ

Webサーバー:

  • WordPressサイトをホストします。
  • 通常、Linuxマシン上のApacheまたはNginxサーバー(ホスティングプロバイダーや管理者の好みによって異なる場合があります)。
  • Webサイトへのアクセスを許可するためにインターネットに接続されています。

データベース管理システム(DBMS):

  • 通常はMySQLまたはMariaDB。
  • Ultimate Memberによって管理されるユーザーデータを含むWordPressサイトのデータを保存します。

Ultimate Memberプラグインを備えたWordPress:

  • ユーザープロフィール管理、登録、ロール管理のためにUltimate MemberプラグインがインストールされたWordPress。
  • Ultimate Memberと相互作用する可能性のある他のプラグインやテーマが含まれる場合があります。

ネットワークとセキュリティ:

  • サーバーを保護するためのファイアウォールおよびその他のネットワークセキュリティ対策。
  • クライアントとサーバー間の通信を保護するためのSSL/TLS。

ユーザー/管理者:

  • WordPressサイトとUltimate Memberプラグインを管理および保守するサイト管理者。
  • サイトに登録して操作するエンドユーザー。

外部サービス(オプション):

  • 通知とアカウント管理のためのメールサービス。
  • 接続性と拡張機能のためのソーシャルネットワークや他のプラットフォームとの統合。

脆弱性の緩和策

管理者として、この脆弱性に関連するリスクを軽減するために取ることができる具体的な対策を以下に示します。

1. 変更可能なメタデータの制限

ユーザー入力の検証:特にwp_capabilitiesなどのメタデータを変更するものについて、すべてのユーザー入力を検証するためのサーバー側の検証を実装します。ブロックリストではなく、正規表現または検証リスト(ホワイトリスト)を使用して入力を制御します。

2. 登録フォームのセキュリティ強化

CAPTCHAとレート制限:自動化された攻撃を防ぐために、登録フォームにCAPTCHAとレート制限を統合します。 クライアント側の検証:クライアント側の検証だけでは不十分ですが、自動化された攻撃を防ぎ、ユーザーエクスペリエンスを向上させるのに役立ちます。

3. ログの追跡と分析

ログの監視:ユーザーロールの不審な変更やメタデータ注入の試みを検出するためのログ監視システムを導入します。これはログ分析ツールを使用して行うことができます。

4. 高度なWebセキュリティソリューションの使用

Webアプリケーションファイアウォール(WAF):既知および未知の攻撃(悪意のあるコード注入攻撃を含む)をブロックするためにWAF⁴を設定します。 侵入検知/防止システム(IDS/IPS)⁵:脆弱性の悪用の試みを検出するためにIDS/IPSを導入します。

5. 権限とロールの管理

ユーザーロールの見直し:異常な権限昇格を検出するために、ユーザーに割り当てられたロールを定期的に確認します。 権限の制限:新しいユーザーにデフォルトで付与される権限を制限し、最小権限の原則に従って、高いロールの割り当てには管理上の検証を要求します。この原則の詳細はこちらを参照してください。

6. セキュリティアップデートとパッチ

アップデートの迅速な適用:プラグインとWordPress自体のセキュリティアップデートを定期的に行います。

7. 開発者の意識向上とトレーニング

開発者に前述のセキュリティのベストプラクティスをトレーニングし、不適切な実装のリスクと影響について認識させます。

脆弱性の実験

再現

脆弱性の悪用を開始するのに役立つMakefileが用意されています。次のように使用できます:

  • make up 必要なすべてのインストールを伴ってWordPressを起動します。待機時間の後、WordPressサーバーが起動し、設定され、Ultimate Memberプラグインのバージョン2.6.5がインストールされます。 その後、ログインページでadmin:passwordの認証情報を使用してWordPressに接続できます。ユーザータブに移動すると、adminユーザーのみが存在することがわかります。 one_admin

    注:docker-composeがありdocker composeがない場合は、Makefileをそれに応じて変更できます(変数DOCKER_COMPOSE= docker-compose)。

次に、脆弱性の悪用を開始できます:

  • make exploit その後、エクスプロイトによって提供された認証情報を使用してログインページでWordPressに接続し、ユーザータブでAdministratorロールを持つ新しいユーザーが作成されたことを確認できます。

    two_admin

  • make down WordPressサーバーを停止し、データを削除します。

exploit.pyの詳細

  • make exploit はexploit.pyスクリプトを実行します。このスクリプトは複数のステップで動作します: エクスプロイトの技術的詳細

1. 脆弱性の確認: 悪用を進める前に、スクリプトはターゲットサイトにインストールされているUltimate Memberプラグインのバージョンが脆弱であるかどうか、つまりバージョン2.6.7未満であるかどうかを確認します。

2. セキュリティノンスの取得: スクリプトは、ターゲットサイトの登録ページからセキュリティノンス³を取得します。このノンスは、登録リクエストがWordPressによって受け入れられるために必要です。ノンスは、登録ページのHTMLコードを解析して取得されます。

3. 脆弱性の悪用: 次に、スクリプトは操作されたパラメータ(wp_càpabilities[administrator]=1)を含むPOSTリクエストを登録ページに送信します。このパラメータは、アクセント付き文字(à)を使用してプラグインのセキュリティチェックを回避し、データを誤ってシリアル化することで、作成された新しいユーザーに管理者ロールを割り当てます。

4. エクスプロイトの確認: リクエストの送信後、スクリプトはサーバーの応答を解析して操作が成功したかどうかを確認します。

付録

用語集

  1. CVE(Common Vulnerabilities and Exposures):情報セキュリティの脆弱性のための国際的な参照システム。詳細情報。
  2. nvd.nist.gov:情報セキュリティの脆弱性のための参照データベース。公式サイト。
  3. WP_Capabilities:ユーザーのロールと権限を管理するために使用されるWordPressのシリアル化された属性。WordPressのロールと権限と、その使用方法について詳しく学ぶ。
  4. セキュリティノンス:CSRF攻撃などの特定の形式の攻撃を防ぐためにコンピュータ通信で使用されるトークン。詳細はこちら。
  5. WAF(Webアプリケーションファイアウォール):Webサーバーとインターネット間のHTTPトラフィックを監視およびフィルタリングするためのセキュリティツール。詳細。
  6. IDS/IPS(侵入検知/防止システム):悪意のあるアクティビティを検出するためにネットワークまたはシステムを監視するデバイスまたはアプリケーション。補足説明。
  7. クロスサイトリクエストフォージェリ(CSRF):ログインしたユーザーにWebアプリケーション上で望ましくないアクションを実行させる攻撃。詳細はこちら。

出典

ツールをダウンロード
脅威B1(ユーザーデータの機密性)B2(Webサイトの整合性)B3(Ultimate Memberプラグインの整合性)
M1 不正アクセスXXX
M2 悪意のあるコードの注入XX
M3 データ漏洩X
M4 評判の低下X
名前リンク
NIST CVE-2023-3460https://nvd.nist.gov/vuln/detail/CVE-2023-3460
Ultimate Member Githubhttps://github.com/ultimatemember/ultimatemember
悪用に使用されたパッケージのバージョン 2.6.5https://wordpress.org/plugins/ultimate-member/advanced/
エクスプロイトのパッチhttps://github.com/ultimatemember/ultimatemember/commit/fae47c6065ce07e9a8b44501002fa5b4f16d2456
エクスプロイトのレビューhttps://thesecmaster.com/how-to-fix-cve-2023-3460-a-privilege-escalation-vulnerability-in-ultimate-member-wordpress-plugin/
OWASP Top 10 アプリケーションセキュリティリスクhttps://owasp.org/www-project-top-ten/