pimcore/pimcore security advisory
CVE-2026-55634: Pimcore Vulnerable to Remote Code Execution via DataObject Class-Definition Field Name
CVE-2026-55634 is a critical-severity remote code execution vulnerability in the PHP package pimcore/pimcore (CVSS 9.9), published 28 August 2026. The advisory does not name a fixed version. Exploiting it needs a low-privilege user account.
critical 9.9 published 2026-08-28 · updated 2026-09-09
- Affected versions
- <= 12.3.9
>= 2026.1.0, <= 2026.1.5 - Fixed in
- not stated
- Newest release
- 2026.3.4
- Severity
- Critical · CVSS 9.9
- Type
- Remote code execution
CWE-89, CWE-94 - Exploited in the wild
- Not on the CISA KEV list
checked 2026-11-04
Is your pimcore/pimcore version affected?
Who can exploit CVE-2026-55634
- Access: A normal, low-privilege user account in the app.
CVSS vector (scored by GitHub): CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
How to fix CVE-2026-55634 in pimcore/pimcore
- Find the installed version:
composer show pimcore/pimcore. If you never required it yourself,composer why pimcore/pimcoreshows which package pulls it in. - Update it:
composer update pimcore/pimcore --with-all-dependencies. - If Composer will not go that high, your composer.json constraint is holding it back. Widen it (for example
"pimcore/pimcore": "^2026.3.4"if you can take that version), or upgrade the package that requires it. - Run
composer audit. It reads the same advisory data and should no longer list CVE-2026-55634. - Commit composer.lock and deploy it. On the server, run
composer install --no-devfrom the lock file, notcomposer update.
If you cannot upgrade yet
- Never pass user-controlled data to unserialize() or to template rendering, and restrict who can edit templates or settings.
- Put a web application firewall in front of the app and watch for new PHP files or admin users.
- If your app does not use the affected feature, note that in your audit, but still plan the upgrade.
The CVE-2026-55634 advisory
Pimcore is an Open Source Data & Experience Management Platform. Prior to 11.5.19, 12.3.10, and 2026.1.6, the class-definition import endpoint /pimcore-studio/api/class/definition/configuration-view/detail/{id}/import accepts a DataObject field name that is emitted without an identifier allowlist by lib/DataObject/ClassBuilder/FieldDefinitionPropertiesBuilder.php into generated PHP properties and by models/DataObject/ClassDefinition/Helper/Dao.php into ALTER TABLE identifiers. An authenticated user with the objects permission can inject PHP syntax into the generated DataObject class, causing attacker-controlled code in generated var/classes/DataObject/.php files to run when an object of that class is instantiated, and can also inject SQL identifier content into schema-changing statements. The central models/DataObject/ClassDefinition/Data.php::setName() validation did not reject semicolons, braces, backticks, spaces, or other non-identifier characters. This issue is fixed in versions 11.5.19, 12.3.10, and 2026.1.6.
References
- GitHub advisory GHSA-9x44-4gxf-8c25 github.com
- GitHub advisory GHSA-r2f4-ff2p-xc64 github.com
- Fix commit a4f8c3c github.com
- Pull request #19183 github.com
- Release v2026.1.6 github.com
Other pimcore/pimcore advisories
- high CVE-2026-55416: Pimcore: SQL Injection in Custom Reports via Malicious Report Configuration 2026-09-10
- critical CVE-2026-55220: Pimcore Hotspotimage getDataFromResource() unrestricted Serialize::unserialize over object-store column (PHP Object Injection, CWE-502) 2026-08-28
- high CVE-2026-55072: Pimcore: ClassDefinition UID regex missing end anchor allows SQL injection via Block.php unquoted table name 2026-08-13
- high CVE-2026-11407: Pimcore CMS Twig Sandbox Bypass via SecurityPolicy checkMethodAllowed 2026-06-17
- high CVE-2026-5394: Pimcore Platform - SQL Injection in DataObject composite index handling during class definition import/save 2026-05-28
- high CVE-2026-45704: Pimcore has a CustomReports Share Bypass 2026-05-27
Related
Need help patching or upgrading? Laskyr does PHP and Laravel security fixes and upgrades. Tell us what you run and we reply with a plan and a price.
Ask about a fixWhere this data comes from
- Affected and fixed versions: the Packagist security advisories API (GitHub Advisory Database and FriendsOfPHP), the same data
composer audituses. Synced 2026-11-03. - Description, score, weakness and references: NIST National Vulnerability Database (NVD), checked 2026-11-04. This product uses data from the NVD API but is not endorsed or certified by the NVD.
- Exploited-in-the-wild status: the CISA Known Exploited Vulnerabilities catalog, checked 2026-11-04.
- Compiled by Daniel Lasek at Laskyr from the sources above. The summary, “who can exploit it”, “how to fix it” and hardening sections are our plain-English reading of the record and are generated from it. The quoted description is the record's own text. Spot an error? Tell us.