CVE-2025-27617

8.8 HIGH

📋 TL;DR

This SQL injection vulnerability in Pimcore allows authenticated users to craft malicious filter strings that can execute arbitrary SQL commands. The vulnerability affects all Pimcore installations prior to version 11.5.4 where users have authenticated access to the platform.

💻 Affected Systems

Products:
  • Pimcore
Versions: All versions prior to 11.5.4
Operating Systems: All platforms running Pimcore
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated user access to exploit. The vulnerability exists in the RelationFilterConditionParser and Multiselect components.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including data theft, data manipulation, and potential remote code execution through database functions.

🟠

Likely Case

Unauthorized data access, data exfiltration, and potential privilege escalation within the application.

🟢

If Mitigated

Limited impact due to proper input validation and parameterized queries preventing successful exploitation.

🌐 Internet-Facing: HIGH - Pimcore instances exposed to the internet with authenticated user access are vulnerable to exploitation.
🏢 Internal Only: MEDIUM - Internal instances still vulnerable but attack surface reduced compared to internet-facing deployments.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires authenticated access and knowledge of Pimcore's filter string syntax. The advisory provides technical details but no public exploit code.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 11.5.4

Vendor Advisory: https://github.com/pimcore/pimcore/security/advisories/GHSA-qjpx-5m2p-5pgh

Restart Required: No

Instructions:

1. Backup your Pimcore instance and database. 2. Update Pimcore to version 11.5.4 or later using composer: 'composer require pimcore/pimcore:^11.5.4'. 3. Clear cache: 'bin/console cache:clear'. 4. Verify the update completed successfully.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement additional input validation for filter strings in custom code to reject suspicious patterns.

Database User Privilege Reduction

all

Limit database user permissions to only necessary operations to reduce impact if exploited.

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block SQL injection patterns in filter parameters
  • Restrict authenticated user access to only trusted users and implement strict access controls

🔍 How to Verify

Check if Vulnerable:

Check Pimcore version: 'composer show pimcore/pimcore | grep version'. If version is below 11.5.4, the system is vulnerable.

Check Version:

composer show pimcore/pimcore | grep version

Verify Fix Applied:

After updating, verify version is 11.5.4 or higher: 'composer show pimcore/pimcore | grep version'. Test filter functionality to ensure it works without errors.

📡 Detection & Monitoring

Log Indicators:

  • Unusual database queries from Pimcore application logs
  • Multiple failed filter operations with unusual characters
  • Database error logs showing SQL syntax errors from Pimcore

Network Indicators:

  • Unusual database traffic patterns from application servers
  • Large data transfers from database to application outside normal patterns

SIEM Query:

source="pimcore.log" AND ("SQL" OR "database error" OR "filter") AND ("' OR " OR "--" OR ";" OR "UNION")

🔗 References

📤 Share & Export