Skip to main content

Pimcore CVE-2026-5394

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

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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
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
Privileges Required
High
User Interaction
None
Scope
X

Lifecycle Timeline

5
Source Code Evidence Fetched
Jul 24, 2026 - 05:03 vuln.today
Analysis Generated
Jul 24, 2026 - 05:03 vuln.today
CVSS changed
Apr 27, 2026 - 20:22 NVD
7.0 (HIGH)
EUVD ID Assigned
Apr 27, 2026 - 20:00 euvd
EUVD-2026-25909
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.

AnalysisAI

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.

Technical ContextAI

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.

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

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

Share

CVE-2026-5394 vulnerability details – vuln.today

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