Skip to main content

Pimcore CVE-2026-5394

| EUVDEUVD-2026-25909 HIGH
SQL Injection (CWE-89)
7.0
CVSS 4.0 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as Pimcore admin
  2. Delivery
    Craft class definition with malicious index_columns
  3. Exploit
    Import or save DataObject class definition
  4. Execution
    Payload concatenated into ALTER TABLE ADD INDEX
  5. Persist
    Doctrine DBAL executes injected SQL
  6. Impact
    Database read/modification

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated administrative user (PR:H) with the specific capability to import or save DataObject class definitions in the Pimcore backend; the malicious payload must be placed in the compositeIndices metadata (most reliably compositeIndices.index_columns, alternatively index_key) of the imported class-definition JSON. Exploitation is triggered when Pimcore rebuilds composite indices and interpolates the value into ALTER TABLE ADD/DROP INDEX DDL. Limiting factors: it is not remote-unauthenticated - an attacker without admin/class-definition rights cannot reach the vulnerable flow; no user interaction is needed beyond the attacker's own import/save action; affected only on unpatched builds (<= 12.3.6, <= 11.5.16, or 2026.1.0-2026.1.2).

Impact

This is a real but access-gated issue, not a mass-exploitation threat. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:L/VA:L) and score 7.0 hinge on PR:H - the attacker must already hold administrative rights to import/save class definitions, which sharply narrows the attacker population. Corroborating low-urgency signals: EPSS is 0.01% (2nd percentile), the issue is not in CISA KEV, and CISA SSVC scores Exploitation: none, Automatable: no, Technical Impact: partial. No public exploit code has been identified. The main risk is post-authentication privilege abuse: a compromised or malicious admin (or a supply-chain/import-of-untrusted-class-definition scenario) turning DDL configuration into arbitrary SQL, giving full read of the database (VC:H) and limited write/availability impact. Treat as a standard-priority patch, prioritized higher where admin accounts are broadly delegated or class definitions are imported from untrusted sources.

Exploit ScenarioDerived

An attacker who has obtained an administrative Pimcore session (or a rogue insider) crafts a DataObject class-definition JSON where compositeIndices.index_columns contains an injected ALTER TABLE subclause, then imports or saves it. When Pimcore rebuilds the composite indices it concatenates the value into an ADD INDEX statement executed via Doctrine DBAL, running the attacker's SQL against the object tables. No public POC is available, but network attack vector and low complexity (AV:N/AC:L) mean the only real barrier is the required admin privilege.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 24, 2026

SQL injection in Pimcore's DataObject composite index handling lets an authenticated administrative user (PR:H) escalate configuration-management rights into arbitrary SQL execution by importing or saving a crafted class definition. The vulnerable flow accepts compositeIndices from imported JSON and concatenates index_key and, more reliably, index_columns verbatim into ALTER TABLE ... DROP/ADD INDEX statements run through Doctrine DBAL. There is no public exploit identified at time of analysis and EPSS is 0.01%, but the GHSA advisory and PR #19108 fully document the root cause, so exploitation is well understood.

RemediationAI

Vendor-released patch: upgrade to Pimcore 12.3.7 (12.x), 11.5.17 (11.x), or 2026.1.3 (calendar line) - via composer require pimcore/pimcore to the fixed release. The fix (PR https://github.com/pimcore/pimcore/pull/19108, commit https://github.com/pimcore/pimcore/commit/6df625ff74015dc11f4bbe76170ce45bbd5dd61d) adds strict identifier validation and quoteIdentifier() calls, so no functional class-definition behavior is lost. Until patching, the practical compensating controls are to restrict which accounts hold the class-definition import/save permission and avoid importing DataObject class definitions from untrusted sources, since exploitation requires that administrative capability; monitor the database DDL/query logs for anomalous ALTER TABLE statements against object tables. There is no configuration flag to disable the feature cleanly without breaking legitimate class management, so tightening admin authorization and import provenance is the main trade-off-bearing mitigation. Advisory: https://github.com/pimcore/pimcore/security/advisories/GHSA-r2f4-ff2p-xc64

Affected VersionsENISA

pimcore 12.3.3

Affected Packages

composer pimcore/pimcore fix: 11.5.17, 12.3.7, 2026.1.3
euvd pimcore no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Pimcore is an open-source PHP data/experience management platform (PIM/DAM/CMS) built on Symfony and Doctrine DBAL. The root cause is CWE-89 (SQL injection): Service::importClassDefinitionFromJson() ingests compositeIndices from user-supplied JSON, ClassDefinition::setCompositeIndices() stores it without an allowlist (only rewriting ManyToOne relations to __id/__type, which is not a security control), and CompositeIndexTrait::updateCompositeIndices() interpolates the index key and columns directly into 'ALTER TABLE table DROP INDEX ...' and 'ADD INDEX key (columns)' DDL. Because index_columns is placed verbatim inside the ADD INDEX (...) clause, an attacker can append additional ALTER TABLE subclauses without needing stacked-query support. The fix (commit 6df625f) introduces assertValidIdentifier() enforcing /^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/ and switches to db->quoteIdentifier() for the table, key, and each column. CPE cpe:2.3:a:pimcore:pimcore identifies the single affected product.

Know when Pimcore gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 7.0 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N
vuln.today AI 6.0 MEDIUM

Reachable over the network but only by an admin with class-definition import/save rights (PR:H); SQLi yields full DB read (C:H) with limited DDL-driven write/availability impact (I:L/A:L), no scope change.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Apr 27, 2026 - 20:22 NVD
7.0 (HIGH)
CVE Published
Apr 27, 2026 - 19:15 nvd
HIGH 7.0

DescriptionCVE.org

An authenticated administrative user who can import or save DataObject class definitions can inject attacker-controlled composite index metadata and trigger unintended SQL execution in the backend.

This issue affects pimcore: 12.3.3.

Executive ViewAI

Why It Matters

A SQL injection vulnerability in Pimcore's DataObject configuration handling (CVE-2026-5394) allows authenticated administrative users to escalate their access into arbitrary database command execution. This directly threatens organizations' data integrity and confidentiality, as admin-level accounts can execute unrestricted SQL queries to manipulate or exfiltrate sensitive information. Organizations using Pimcore for sensitive or regulated data should prioritize immediate remediation.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Prevalence
Medium
popular open-source PHP PIM/DXP platform, common but not ubiquitous
Threat Intel
2
1 source
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

35
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +35
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

CVE-2019-10867 HIGH POC
8.8 Apr 04

An issue was discovered in Pimcore before 5.7.1. Rated high severity (CVSS 8.8), this vulnerability is remotely exploita

CVE-2024-25625 CRITICAL POC
9.3 Feb 19

Pimcore's Admin Classic Bundle provides a Backend UI for Pimcore. Rated critical severity (CVSS 9.3), this vulnerability

CVE-2021-4139 CRITICAL POC
9.0 Dec 21

pimcore is vulnerable to Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'). Rated cri

CVE-2026-23492 HIGH POC
8.8 Jan 14

Blind SQL injection in Pimcore's Admin Search Find API allows authenticated attackers to extract database information th

CVE-2024-23646 HIGH POC
8.8 Jan 24

Pimcore's Admin Classic Bundle provides a backend user interface for Pimcore. Rated high severity (CVSS 8.8), this vulne

CVE-2024-23648 HIGH POC
8.8 Jan 24

Pimcore's Admin Classic Bundle provides a backend user interface for Pimcore. Rated high severity (CVSS 8.8), this vulne

CVE-2023-47637 HIGH POC
8.8 Nov 15

Pimcore is an Open Source Data & Experience Management Platform. Rated high severity (CVSS 8.8), this vulnerability is r

CVE-2023-2984 HIGH POC
8.8 May 30

Path Traversal: '\..\filename' in GitHub repository pimcore/pimcore prior to 10.5.22. Rated high severity (CVSS 8.8), th

CVE-2023-2983 HIGH POC
8.8 May 30

Privilege Defined With Unsafe Actions in GitHub repository pimcore/pimcore prior to 10.5.23. Rated high severity (CVSS 8

CVE-2023-2338 HIGH POC
8.8 Apr 27

SQL Injection in GitHub repository pimcore/pimcore prior to 10.5.21. Rated high severity (CVSS 8.8), this vulnerability

CVE-2023-1578 HIGH POC
8.8 Mar 22

SQL Injection in GitHub repository pimcore/pimcore prior to 10.5.19. Rated high severity (CVSS 8.8), this vulnerability

CVE-2023-25240 HIGH POC
8.8 Feb 13

An improper SameSite Attribute vulnerability in pimCore v10.5.15 allows attackers to execute arbitrary code. Rated high

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy