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

CVE-2025-27617

CVE-2025-27617 SQL Injection in Pimcore
📅 PUBLISHED: 2025-03-11 15:35 UTC 🔄 UPDATED: 2026-09-23 20:27 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.49%
👁️
0.49% probability
12.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Austria License: Open Source
Patch available — upgrade to latest release
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
6.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-27617 is a SQL injection vulnerability in Pimcore, an open-source data and experience management platform. An authenticated attacker can craft a malicious filter string to execute arbitrary SQL commands against the backend database. This flaw exists in versions prior to 11.5.4. Successful exploitation could lead to data exfiltration, privilege escalation, or complete database compromise. No public proof-of-concept (PoC) or exploit code is currently available, and the EPSS score is 0.0%, indicating low exploitation activity at this time. The vendor has released a fix in version 11.5.4.

⚡ 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

Pimcore is a PHP-based application distributed via Composer. Organizations using Pimcore as a dependency should immediately update to version 11.5.4. The vulnerability is introduced through user-controlled filter parameters, not through a compromised package. However, as an open-source project, supply chain risks include malicious commits or compromised maintainer accounts. Verify the integrity of the updated package via checksums or signed releases.

CVSS Breakdown & Threat Level

The CVSS vector is not provided by NVD. Based on the vulnerability type (SQL injection) and the requirement for authentication, a reasonable estimated vector is: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (Base Score: 8.8 – High)

  • Attack Vector (AV): Network – The attacker can exploit the vulnerability remotely.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): Low – The attacker must have valid credentials.
  • User Interaction (UI): None – No user action is needed.
  • Scope (S): Unchanged – The vulnerable component and the database are within the same security authority.
  • Confidentiality (C): High – Full database read access is possible.
  • Integrity (I): High – Data can be modified or deleted.
  • Availability (A): High – Database operations can be disrupted.

Threat Level: High. Although no public exploit exists, the vulnerability is easily exploitable by authenticated users and can lead to complete database compromise.

Deep Dive & Mechanics

The vulnerability resides in the filter functionality of Pimcore’s data management interface. Authenticated users can supply a filter string (likely via a REST API or admin panel) that is not properly sanitized before being used in SQL queries. The filter string is concatenated directly into a SQL WHERE clause, allowing an attacker to inject arbitrary SQL commands.

Root Cause: Lack of parameterized queries or proper input validation for filter parameters. The application likely uses string concatenation to build SQL queries from user-supplied filter criteria.

Attack Vector: An authenticated user sends a crafted HTTP request (e.g., POST or GET) to an endpoint that processes filters. The filter parameter contains SQL injection payloads.

Impact: An attacker can:

  • Extract sensitive data (user credentials, PII, business data).
  • Modify or delete database records.
  • Potentially escalate privileges by manipulating authentication tables.
  • Execute operating system commands if the database user has sufficient privileges (e.g., xp_cmdshell in SQL Server or COPY ... FROM PROGRAM in PostgreSQL).

Vulnerable vs. Patched Code

Vulnerable Code (Pre-11.5.4):

// Example of vulnerable filter handling
$filter = $_POST['filter'];
$query = "SELECT * FROM objects WHERE " . $filter;
$result = $db->query($query);

Patched Code (11.5.4):

// Example of patched filter handling using parameterized queries
$filter = $_POST['filter'];
// Assume $filter is an array of conditions
$conditions = [];
$params = [];
foreach ($filter as $key => $value) {
    $conditions[] = "$key = ?";
    $params[] = $value;
}
$where = implode(' AND ', $conditions);
$query = "SELECT * FROM objects WHERE " . $where;
$result = $db->executeQuery($query, $params);

The patch ensures that user input is treated as data, not as executable SQL code, by using prepared statements or parameterized queries.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A valid Pimcore user account (any role with access to filter functionality).
  • Network access to the Pimcore instance.

Exploitation Steps:

  1. Identify the vulnerable endpoint (e.g., /admin/object/list or similar).
  2. Craft a malicious filter string. Example payload for a time-based blind SQL injection:
    filter=1 AND (SELECT IF(1=1,SLEEP(5),'a'))-- -
    
  3. Send the request using a tool like curl:
    curl -X POST 'https://target.pimcore/admin/object/list' \
      -H 'Cookie: PHPSESSID=your_session' \
      -d 'filter=1 AND (SELECT IF(1=1,SLEEP(5),'a'))-- -'
    
  4. Observe a 5-second delay, confirming SQL injection.
  5. Extract data using UNION-based or error-based techniques. Example for MySQL:
    filter=1 UNION SELECT 1,2,3,4,5,group_concat(username,':',password) FROM users-- -
    

Note: No public exploit code is available. The above is a generic example.

Blue Team

Detection:

  • Monitor for unusual SQL errors in application logs (e.g., mysql error: You have an error in your SQL syntax).
  • Look for HTTP requests with filter parameters containing SQL keywords (UNION, SELECT, SLEEP, OR 1=1).
  • Use WAF rules to block common SQL injection patterns.

Hunting:

  • Search for requests to endpoints like /admin/object/list with non-standard filter values.
  • Analyze database query logs for unexpected queries.

Lab Setup:

  1. Deploy a vulnerable Pimcore instance (version < 11.5.4) in an isolated environment.
  2. Create a test user with minimal privileges.
  3. Use Burp Suite or OWASP ZAP to intercept and modify filter requests.
  4. Verify the vulnerability by injecting a benign payload (e.g., 1 AND 1=1 vs 1 AND 1=2).

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP requests containing SQL injection patterns in filter parameters.
    • Unusual database error messages in HTTP responses.
    • Outbound database connections to unexpected IPs (if data exfiltration occurs).
  • Host IOCs:

    • Application logs showing SQL syntax errors.
    • Database logs with anomalous queries (e.g., UNION SELECT, SLEEP).
    • New or modified files in the Pimcore installation directory (if RCE is achieved).
  • File IOCs:

    • Suspicious entries in Pimcore’s log files (e.g., /var/www/pimcore/var/log/).

Detection Engineering

YARA Rule

rule CVE_2025_27617_SQLi_Filter {
    meta:
        description = "Detects SQL injection attempts targeting Pimcore filter parameters"
        author = "Valters IT"
        date = "2025-03-20"
        reference = "CVE-2025-27617"
    strings:
        $sqli1 = /filter=.*(UNION|SELECT|SLEEP|OR\s+1=1|AND\s+1=1)/i
        $sqli2 = /filter=.*(--|#|\/\*)/i
    condition:
        any of them
}

Sigma Rule

title: Pimcore SQL Injection via Filter Parameter
id: 8a4b3c2d-1e5f-6a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects SQL injection attempts in Pimcore filter parameters
author: Valters IT
date: 2025/03/20
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'filter='
        cs-uri-query|re: '(UNION|SELECT|SLEEP|OR\s+1=1|AND\s+1=1|--|#|/\*)'
    condition: selection
falsepositives:
    - Legitimate use of filter with special characters (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-27617 Pimcore SQL Injection Attempt"; flow:to_server,established; content:"POST"; http_method; content:"filter="; http_client_body; pcre:"/(UNION|SELECT|SLEEP|OR\s+1=1|AND\s+1=1|--|#|\/\*)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade Pimcore to version 11.5.4 or later. This is the only complete fix.
  2. If immediate upgrade is not possible, apply a virtual patch using a WAF to block SQL injection patterns in filter parameters.
  3. Restrict access to Pimcore admin interfaces to trusted IPs only.

Long-Term Measures:

  • Implement input validation and parameterized queries for all database interactions.
  • Conduct a code review of custom filter implementations.
  • Enable detailed logging and monitoring for all admin actions.
  • Follow the principle of least privilege for database users.

Workarounds:

  • Disable the filter functionality temporarily if not critical.
  • Use a reverse proxy to inspect and sanitize filter parameters.

Valters IT
Securing Digital Frontiers

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