CVE-2026-55634
KrytyczneCVSS 9.9Streszczenie
Pimcore przed wersjami 11.5.19, 12.3.10 i 2026.1.6 ma podatność w punkcie końcowym importu definicji klas, gdzie pole nazwy DataObject jest emitowane bez listy dozwolonych identyfikatorów, co pozwala uwierzytelnionemu użytkownikowi z uprawnieniami obiektów na wstrzyknięcie składni PHP do generowanych klas DataObject oraz wstrzyknięcie treści identyfikatorów SQL do instrukcji zmieniających schemat. Walidacja w setName() nie odrzucała średników, nawiasów klamrowych, backticków, spacji ani innych znaków nieidentyfikatorowych.
Ocena ryzyka
Ryzyko obejmuje wykonanie dowolnego kodu PHP na serwerze oraz modyfikację schematu bazy danych, co może prowadzić do pełnego przejęcia systemu i naruszenia integralności danych.
Rekomendacja
Zaleca się natychmiastowe zaktualizowanie Pimcore do wersji 11.5.19, 12.3.10 lub 2026.1.6, które zawierają poprawkę.
Oryginalny opis (angielski, źródło NVD)
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.

