ZeroHour

CVE-2026-55072

moderate

Authenticated SQL Injection via ClassDefinition UID in Pimcore (pre-2026.1.5)

CVSS 3.1
8.5 high
EPSS
Published
()
Modified
AI analysis

Pimcore versions before 2026.1.5 contain an SQL injection caused by incomplete input validation: the name/ID expressions in models/DataObject/ClassDefinition.php only check the start of the value, so an authenticated user with the objects permission can store a malicious ClassDefinition UID containing SQL syntax. When a data object of that class with a Block field is loaded, Block::load interpolates the stored class ID into an unquoted object table identifier, executing the attacker's SQL against the database. A successful exploit can read or modify arbitrary Pimcore database tables, including disclosure of user password hashes. The issue stems from earlier hardening that added a start anchor to validation without anchoring the end of the identifier, and it is fixed in version 2026.1.5. No public proof of concept or exploitation in the wild is known.

What to do: Upgrade to Pimcore 2026.1.5 or later as soon as possible. In the interim, restrict the 'objects' permission (especially class definition editing) to trusted administrators only, and review the ClassDefinition tables for class IDs/UIDs containing unexpected characters or SQL syntax. Audit database query logs for anomalous statements targeting non-Pimcore-object tables, and rotate admin/user credentials if there is any sign password hashes were accessed.

Affected
Pimcore (Data & Experience Management Platform)all versions prior to 2026.1.5
Estimated exposure
moderate≈ low thousands of installations, likely only a subset internet-exposed — Pimcore is a self-hosted enterprise PIM/DXP platform with a few thousand deployments worldwide, and public internet scans typically show only low thousands of reachable Pimcore hosts/admin panels, so the truly exposed population is…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Pimcore is an Open Source Data & Experience Management Platform. Prior to 2026.1.5, an authenticated user with the objects permission can submit a malicious ClassDefinition UID because the name and ID validation expressions in models/DataObject/ClassDefinition.php validate only the beginning of each value. When a data object of that class containing a Block field is loaded, Block::load in models/DataObject/ClassDefinition/Data/Block.php incorporates the stored class ID into an unquoted object table identifier, allowing the UID to supply SQL syntax. The resulting query can read or modify arbitrary Pimcore database tables, including disclosure of password hashes, and the flaw represents an incomplete validation hardening because earlier work added a start anchor without enforcing the end of the identifier. This issue is fixed in version 2026.1.5.

Weakness
CWE-20, CWE-89
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N

In the news

No ingested article mentions this CVE yet.