CVE-2025-0365
Executive Summary
CVE-2025-0365 is a Directory Traversal vulnerability in the Jupiter X Core WordPress plugin, affecting all versions up to and including 4.8.7. The flaw resides in the plugin's inline SVG feature, allowing authenticated attackers with at least Contributor-level access to read arbitrary files on the server. This can lead to the exposure of sensitive information such as configuration files, database credentials, or other secrets stored on the filesystem. The vulnerability has a CVSS score of 6.5 (Medium), with a low attack complexity and no user interaction required beyond authentication. No public proof-of-concept or patch details are currently available, but the risk is significant for WordPress sites using this plugin.
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 vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository. As such, it is part of the WordPress ecosystem and should be treated as a supply chain risk. Administrators must ensure that the plugin is updated to a patched version as soon as it becomes available, and consider temporarily disabling the inline SVG feature if possible.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – The attack can be carried out remotely over the network.
- Attack Complexity (AC): Low (L) – No special conditions or complex steps are required.
- Privileges Required (PR): Low (L) – The attacker needs Contributor-level access or higher.
- User Interaction (UI): None (N) – No user action is required for exploitation.
- Scope (S): Unchanged (U) – The vulnerability does not affect other components.
- Confidentiality (C): High (H) – Arbitrary file read can expose sensitive data.
- Integrity (I): None (N) – No file modification is possible.
- Availability (A): None (N) – No impact on system availability.
Threat Level: Medium. While the CVSS score is 6.5, the potential for sensitive data exposure makes this a serious concern for affected WordPress installations.
Deep Dive & Mechanics
The vulnerability exists in the inline SVG feature of the Jupiter X Core plugin. This feature allows authenticated users to upload or embed SVG files. Due to insufficient input validation and sanitization of file paths, an attacker can manipulate the SVG processing to traverse directories and read arbitrary files.
Root Cause: The plugin fails to properly sanitize the src or href attributes within SVG elements, or the file path used during SVG rendering. By crafting a malicious SVG with path traversal sequences (e.g., ../../wp-config.php), an attacker can force the plugin to read files outside the intended upload directory.
Attack Flow:
- An authenticated user with Contributor-level access navigates to a post/page editor.
- The user inserts an inline SVG using the Jupiter X Core feature.
- The SVG contains a manipulated file path, such as
../../../../etc/passwdor../../wp-config.php. - The plugin processes the SVG and reads the specified file, outputting its contents in the response.
- The attacker can then view sensitive information.
Vulnerable vs. Patched Code
Since no patch is available, we can only describe the vulnerable code pattern. The vulnerable code likely resembles:
// Vulnerable code (conceptual)
function jupiterx_render_svg($svg_content) {
// No path sanitization
$file_path = $svg_content['src'];
$content = file_get_contents($file_path);
return $content;
}
A patched version would include proper validation:
// Patched code (conceptual)
function jupiterx_render_svg($svg_content) {
$allowed_dir = WP_CONTENT_DIR . '/uploads/jupiterx/';
$file_path = realpath($svg_content['src']);
if (strpos($file_path, $allowed_dir) !== 0) {
wp_die('Invalid file path.');
}
$content = file_get_contents($file_path);
return $content;
}
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- WordPress instance with Jupiter X Core plugin <= 4.8.7
- User account with Contributor-level access or higher
Exploitation Steps:
- Log in to WordPress as a Contributor.
- Create a new post or page.
- Insert an inline SVG block using the Jupiter X Core feature.
- Craft the SVG with a path traversal payload. Example SVG:
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<image href="../../../../etc/passwd" />
</svg>
- Save or preview the post. The server will read and display the contents of
/etc/passwd.
Alternative Payloads:
../../wp-config.php– WordPress configuration file (contains database credentials)../../.htaccess– Apache configuration../../../../etc/nginx/nginx.conf– Nginx configuration (if applicable)
Blue Team (Defensive)
Detection:
- Monitor for unusual file read operations in web server logs (e.g., requests containing
../). - Use file integrity monitoring to detect unauthorized access to sensitive files.
- Implement Web Application Firewall (WAF) rules to block path traversal patterns.
Prevention:
- Disable the inline SVG feature if not required.
- Restrict file permissions on sensitive files (e.g.,
wp-config.phpshould be readable only by the web server user). - Apply the principle of least privilege for user roles.
Indicators of Compromise (IOCs)
- File Paths:
../../wp-config.php,../../.htaccess,../../../../etc/passwd - Log Entries: HTTP requests containing
../or%2e%2e%2fin the query string or POST body. - SVG Content: SVG files with
hreforsrcattributes pointing to parent directories. - Network Traffic: Outbound connections from the server to attacker-controlled hosts (if data exfiltration occurs).
Detection Engineering
YARA Rule
rule CVE_2025_0365_JupiterX_Directory_Traversal {
meta:
description = "Detects path traversal attempts in Jupiter X Core inline SVG"
author = "Valters IT"
date = "2025-01-01"
reference = "CVE-2025-0365"
strings:
$svg_traversal = /<image\s+[^>]*href\s*=\s*["']\s*(\.\.\/)+/ nocase
$svg_traversal2 = /<use\s+[^>]*href\s*=\s*["']\s*(\.\.\/)+/ nocase
condition:
any of them
}
Sigma Rule
title: Jupiter X Core Directory Traversal Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects path traversal attempts targeting Jupiter X Core plugin
author: Valters IT
date: 2025/01/01
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-0365
logsource:
category: webserver
product: apache
service: access_combined
detection:
selection:
cs-uri-query|contains:
- '../'
- '..%2f'
- '%2e%2e%2f'
condition: selection
falsepositives:
- Legitimate use of relative paths in SVG (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-0365 Jupiter X Core Directory Traversal Attempt"; flow:to_server,established; content:"../"; http_uri; nocase; content:"wp-config.php"; http_uri; nocase; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the inline SVG feature in Jupiter X Core plugin settings if possible.
- Restrict user roles – Only grant Contributor access to trusted users.
- Apply file permissions – Ensure sensitive files like
wp-config.phpare not readable by the web server user (e.g.,chmod 600 wp-config.php).
Long-term Fix:
- Monitor the plugin vendor for a patched version (>= 4.8.8) and update immediately.
- Implement a Web Application Firewall (WAF) with rules to block path traversal patterns.
- Conduct regular security audits of WordPress plugins.
Workaround:
- Use a security plugin that blocks path traversal attempts (e.g., Wordfence, Sucuri).
Valters IT
Securing Digital Frontiers
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.