<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Pimcore - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/pimcore/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Thu, 13 Aug 2026 14:21:45 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/pimcore/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>SQL Injection in Pimcore via ClassDefinition UID</title><link>https://feed.craftedsignal.io/briefs/2026-08-pimcore-sql-injection/</link><pubDate>Thu, 13 Aug 2026 14:21:45 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-pimcore-sql-injection/</guid><description>An improper input validation in Pimcore's ClassDefinition UID and unsanitized SQL query construction allow authenticated users to perform UNION-based SQL injection and exfiltrate database contents.</description><content:encoded><![CDATA[<p>Pimcore versions 2026.1.0 through 2026.1.4 and versions prior to 12.3.9 are vulnerable to SQL injection (CVE-2026-55072). The vulnerability stems from an incomplete fix regarding input validation of ClassDefinition UIDs. The regex used to validate the UID lacks an end anchor (<code>$</code>), allowing a user with 'objects' permissions to supply a string that starts with a valid character but contains additional malicious SQL.</p>
<p>When this class is subsequently instantiated and accessed via a 'Block' field, the <code>Block.php</code> component concatenates the raw, unquoted classId directly into SQL queries. This allows an attacker to break out of the intended query context and execute arbitrary SQL commands. An attacker can leverage this to exfiltrate sensitive data, including password hashes from the <code>users</code> table, by performing a UNION-based SQL injection attack.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker authenticates to the Pimcore Studio API with valid 'objects' level credentials.</li>
<li>Attacker invokes the <code>create</code> action on the <code>ClassDefinition</code> configuration endpoint.</li>
<li>Attacker submits a specially crafted <code>uid</code> parameter containing a SQL payload (e.g., <code>1 UNION SELECT...</code>).</li>
<li>The application processes the <code>uid</code> using an insufficiently anchored regex, which passes validation.</li>
<li>The attacker creates a new data object associated with this malicious class definition.</li>
<li>Attacker requests the data object via the API, triggering <code>Block.php</code> to load field data.</li>
<li><code>Block.php</code> performs an unquoted string concatenation of the classId into a database query.</li>
<li>The underlying database executes the injected payload, returning sensitive table contents in the API response.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows an authenticated editor-level user to perform arbitrary SQL queries against the application database. This enables unauthorized exfiltration of sensitive information, including user credentials and configuration data. The impact is significant as it requires only standard editor permissions, facilitating privilege escalation via credential access.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Upgrade to a patched version of Pimcore that addresses CVE-2026-55072 immediately.</li>
<li>Audit existing <code>ClassDefinition</code> entries for UIDs containing non-alphanumeric characters or suspicious SQL keywords.</li>
<li>Deploy the Sigma rules below to monitor for suspicious POST requests to the <code>ClassDefinition</code> creation and data object retrieval endpoints.</li>
<li>Ensure database users operate with the principle of least privilege, specifically restricting access to sensitive tables like <code>users</code> from the web application user.</li>
</ol>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>web-vulnerability</category><category>sqli</category><category>pimcore</category></item><item><title>Pimcore Platform SQL Injection in DataObject Composite Index Handling</title><link>https://feed.craftedsignal.io/briefs/2026-05-pimcore-sqli/</link><pubDate>Thu, 28 May 2026 20:47:45 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-pimcore-sqli/</guid><description>A SQL injection vulnerability exists in Pimcore Platform when handling DataObject composite indices during class definition import/save, allowing an authenticated administrative user to inject attacker-controlled composite index metadata, leading to unintended SQL execution in the backend, specifically via the `index_columns` element.</description><content:encoded><![CDATA[<p>Pimcore Platform is vulnerable to SQL injection in the handling of DataObject composite indices during class definition import and save. An authenticated administrative user with the ability to import or save DataObject class definitions can inject attacker-controlled composite index metadata, leading to unintended SQL execution in the backend. The vulnerability lies in the lack of proper validation of the <code>index_columns</code> element within <code>compositeIndices</code>, which is directly concatenated into <code>ALTER TABLE</code> statements. This allows for the injection of arbitrary SQL, potentially leading to unauthorized schema modification, denial of service, and data integrity compromise. The issue affects Pimcore versions up to and including 12.3.6, with the vulnerability residing in the <code>compositeIndices</code> handling during class definition import/save operations.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker authenticates as an administrative user with privileges to manage DataObject class definitions.</li>
<li>The attacker crafts a malicious JSON payload containing a <code>compositeIndices</code> section.</li>
<li>Within the <code>compositeIndices</code> section, the attacker injects SQL code into the <code>index_columns</code> field. For example: <code>&quot;slider), DROP COLUMN \</code>oo_className` -- &quot;`</li>
<li>The attacker imports the crafted JSON payload via the <code>/pimcore-studio/api/class/definition/configuration-view/detail/1/import</code> endpoint or saves the class definition through the administrative workflow.</li>
<li><code>importClassDefinitionFromJson()</code> decodes the attacker-controlled JSON and forwards <code>compositeIndices</code> to <code>setCompositeIndices()</code>.</li>
<li><code>setCompositeIndices()</code> stores the values without sanitizing identifier content.</li>
<li><code>ClassDefinition::save()</code> reaches <code>ClassDefinition\Dao::update()</code> which then calls <code>updateCompositeIndices()</code> on tables like <code>object_store_&lt;classId&gt;</code> and <code>object_query_&lt;classId&gt;</code>.</li>
<li>The injected SQL code is concatenated into an <code>ALTER TABLE</code> statement, which is then executed against the Pimcore database via Doctrine DBAL, leading to unintended schema modifications.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The SQL injection vulnerability allows a privileged attacker to alter backend SQL behavior during class-definition import/save, resulting in schema modification on Pimcore object tables. This can lead to unauthorized schema changes, backend denial of service by breaking expected table layouts, and data integrity issues for DataObject storage and queries. Versions up to and including v12.3.6 are vulnerable.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule &quot;Detect Pimcore SQL Injection via Composite Index Manipulation&quot; to your SIEM and tune for your environment to detect exploitation attempts (rules).</li>
<li>Apply input validation and sanitization to the <code>index_columns</code> field in <code>Pimcore\Model\DataObject\ClassDefinition::setCompositeIndices()</code> to prevent SQL injection (code).</li>
<li>Upgrade Pimcore to a patched version that addresses CVE-2026-5394 when available.</li>
<li>Monitor web server logs for POST requests to <code>/pimcore-studio/api/class/definition/configuration-view/detail/*/import</code> with suspicious characters in the <code>compositeIndices</code> parameter (logs).</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>sql-injection</category><category>web-application</category><category>pimcore</category></item><item><title>Pimcore WebDAV Asset MOVE Missing Authorization Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2026-05-pimcore-webdav-asset-move/</link><pubDate>Wed, 27 May 2026 17:20:01 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-pimcore-webdav-asset-move/</guid><description>Pimcore's WebDAV asset endpoint exposes a `MOVE` operation without authentication, allowing unauthenticated remote attackers to delete assets if they know two existing asset paths in the same directory; Authenticated low-privileged users may also be able to perform unauthorized asset move or overwrite operations because the move path does not enforce `rename`, `delete`, `create`, or `publish` permissions, leading to data loss, content integrity loss, and service disruption.</description><content:encoded><![CDATA[<p>Pimcore, a PHP-based platform for managing digital data, contains a vulnerability in its WebDAV asset endpoint that allows unauthorized asset manipulation. The vulnerability, identified as CVE-2026-45260, stems from a missing authentication plugin in the WebDAV controller, specifically impacting the <code>MOVE</code> operation. This oversight enables unauthenticated remote attackers, who possess knowledge of two existing asset paths within the same directory, to send a crafted WebDAV request and delete the source asset. Moreover, authenticated low-privileged users can exploit this flaw to perform unauthorized asset move or overwrite operations due to the absence of proper permission checks along the move path. This can lead to data loss and service disruption. The affected versions are Pimcore 12.3.6 and earlier.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unauthenticated attacker identifies two existing asset paths in the same directory on a Pimcore instance (e.g., <code>/products/source.jpg</code> and <code>/products/existing.jpg</code>).</li>
<li>The attacker crafts a WebDAV <code>MOVE</code> request targeting the source asset (<code>/products/source.jpg</code>).</li>
<li>The <code>Destination</code> header of the <code>MOVE</code> request is set to the path of the destination asset (<code>/products/existing.jpg</code>).</li>
<li>The <code>Overwrite</code> header is set to <code>T</code>, indicating that the destination asset should be overwritten if it exists.</li>
<li>The attacker sends the crafted <code>MOVE</code> request to the <code>/asset/webdav</code> endpoint.</li>
<li>The Pimcore server receives the request and, due to the missing authentication plugin, processes it without verifying the attacker's identity.</li>
<li>The <code>Tree::move()</code> function is executed, which deletes the source asset (<code>/products/source.jpg</code>) via the <code>Asset::delete()</code> function <em>before</em> checking for a valid user session or asset permissions.</li>
<li>The server attempts to set the <code>userModification</code> field but fails because there's no authenticated user, triggering an error. Despite the error, the source asset has already been deleted.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability allows for the unauthorized deletion of assets in Pimcore. An unauthenticated attacker can remotely delete assets if they know the paths. In Pimcore deployments where assets represent product images, documents, media, or DAM-managed business content, this deletion or unauthorized overwrite can cause data loss, content integrity loss, and service disruption. The affected package is <code>composer/pimcore/pimcore</code> in versions 12.3.6 and earlier.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the necessary patches to upgrade Pimcore to a version greater than 12.3.6 to address CVE-2026-45260.</li>
<li>Deploy the Sigma rule &quot;Detect Pimcore WebDAV Unauthorized Asset MOVE&quot; to identify potential exploitation attempts against the <code>/asset/webdav</code> endpoint.</li>
<li>Monitor web server logs for <code>MOVE</code> requests targeting the <code>/asset/webdav</code> endpoint as described in the attack chain.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>webdav</category><category>asset-management</category><category>missing-authorization</category><category>pimcore</category></item><item><title>Pimcore Unsafe PHP Deserialization Vulnerability (CVE-2026-45162)</title><link>https://feed.craftedsignal.io/briefs/2026-05-pimcore-deserialization/</link><pubDate>Wed, 27 May 2026 16:58:21 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-pimcore-deserialization/</guid><description>Pimcore v11 and earlier is vulnerable to unsafe PHP deserialization in multiple locations due to missing `allowed_classes` restrictions when calling `unserialize()` on data from database columns and filesystem files; an attacker with control over serialized data sources (e.g., via SQL injection or file write vulnerabilities) can inject PHP gadget chains, leading to remote code execution.</description><content:encoded><![CDATA[<p>Pimcore, a content management framework, contains a critical vulnerability (CVE-2026-45162) due to unsafe PHP deserialization in version 11 and earlier. The vulnerability stems from the use of <code>unserialize()</code> in multiple locations without the <code>allowed_classes</code> restriction. This oversight allows attackers to inject arbitrary PHP objects if they can control the serialized data. The affected locations include <code>lib/Tool/Authentication.php</code>, <code>models/Site/Dao.php</code>, <code>models/DataObject/ClassDefinition/CustomLayout/Dao.php</code>, <code>models/Tool/TmpStore/Dao.php</code>, <code>models/Asset/WebDAV/Service.php</code>, and <code>admin-ui-classic-bundle/src/Helper/Dashboard.php</code>. The data being deserialized is sourced from database columns and filesystem files. Exploitation requires an attacker to be able to write to these data sources, which can be achieved through SQL injection or file write vulnerabilities. Successful exploitation leads to remote code execution.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies a writable data source, such as the <code>tmp_store</code> table or the <code>webdav-delete.dat</code> file.</li>
<li>The attacker gains write access to the chosen data source, for example via SQL injection against the <code>tmp_store</code> table or a file write vulnerability against <code>webdav-delete.dat</code>.</li>
<li>The attacker crafts a malicious serialized PHP object, containing a gadget chain designed for remote code execution (e.g., using Monolog's BufferHandler).</li>
<li>The attacker writes the malicious serialized data to the targeted data source (e.g., inserting a row into <code>tmp_store</code> with the serialized payload, or writing to <code>webdav-delete.dat</code>).</li>
<li>A user action or scheduled task triggers the vulnerable <code>unserialize()</code> call in one of the affected files (e.g., accessing a page that reads from <code>TmpStore</code>, or triggering a WebDAV operation that uses the delete log).</li>
<li>The PHP <code>unserialize()</code> function processes the attacker-controlled serialized data without <code>allowed_classes</code>.</li>
<li>The injected PHP object is instantiated, and its methods are invoked according to the gadget chain.</li>
<li>The gadget chain executes arbitrary PHP code with the privileges of the web server, resulting in remote code execution.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to execute arbitrary PHP code on the Pimcore server. This can lead to complete compromise of the application, including data theft, modification, or deletion. The impact is amplified by the availability of public exploit techniques and gadget chains. Given Pimcore's use in content management and e-commerce, a successful attack could have significant financial and reputational consequences.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the vendor-supplied patch or upgrade to a version of Pimcore that addresses CVE-2026-45162.</li>
<li>Deploy the Sigma rules provided in this brief to your SIEM and tune them for your environment to detect potential exploitation attempts.</li>
<li>Monitor web server logs for suspicious activity related to database access (e.g., SQL injection attempts) that could be used to inject malicious serialized data into database tables.</li>
<li>Implement strict file permission controls on the web server to prevent unauthorized writing to the filesystem, mitigating the risk of injecting serialized data into files like <code>webdav-delete.dat</code>.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>deserialization</category><category>remote code execution</category><category>php</category></item><item><title>Pimcore Unsafe PHP Deserialization Vulnerability (CVE-2026-45162)</title><link>https://feed.craftedsignal.io/briefs/2026-05-pimcore-deserialization/</link><pubDate>Wed, 27 May 2026 16:58:21 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-pimcore-deserialization/</guid><description>Pimcore v11 and earlier is vulnerable to unsafe PHP deserialization in multiple locations due to missing `allowed_classes` restrictions when calling `unserialize()` on data from database columns and filesystem files; an attacker with control over serialized data sources (e.g., via SQL injection or file write vulnerabilities) can inject PHP gadget chains, leading to remote code execution.</description><content:encoded><![CDATA[<p>Pimcore, a content management framework, contains a critical vulnerability (CVE-2026-45162) due to unsafe PHP deserialization in version 11 and earlier. The vulnerability stems from the use of <code>unserialize()</code> in multiple locations without the <code>allowed_classes</code> restriction. This oversight allows attackers to inject arbitrary PHP objects if they can control the serialized data. The affected locations include <code>lib/Tool/Authentication.php</code>, <code>models/Site/Dao.php</code>, <code>models/DataObject/ClassDefinition/CustomLayout/Dao.php</code>, <code>models/Tool/TmpStore/Dao.php</code>, <code>models/Asset/WebDAV/Service.php</code>, and <code>admin-ui-classic-bundle/src/Helper/Dashboard.php</code>. The data being deserialized is sourced from database columns and filesystem files. Exploitation requires an attacker to be able to write to these data sources, which can be achieved through SQL injection or file write vulnerabilities. Successful exploitation leads to remote code execution.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies a writable data source, such as the <code>tmp_store</code> table or the <code>webdav-delete.dat</code> file.</li>
<li>The attacker gains write access to the chosen data source, for example via SQL injection against the <code>tmp_store</code> table or a file write vulnerability against <code>webdav-delete.dat</code>.</li>
<li>The attacker crafts a malicious serialized PHP object, containing a gadget chain designed for remote code execution (e.g., using Monolog's BufferHandler).</li>
<li>The attacker writes the malicious serialized data to the targeted data source (e.g., inserting a row into <code>tmp_store</code> with the serialized payload, or writing to <code>webdav-delete.dat</code>).</li>
<li>A user action or scheduled task triggers the vulnerable <code>unserialize()</code> call in one of the affected files (e.g., accessing a page that reads from <code>TmpStore</code>, or triggering a WebDAV operation that uses the delete log).</li>
<li>The PHP <code>unserialize()</code> function processes the attacker-controlled serialized data without <code>allowed_classes</code>.</li>
<li>The injected PHP object is instantiated, and its methods are invoked according to the gadget chain.</li>
<li>The gadget chain executes arbitrary PHP code with the privileges of the web server, resulting in remote code execution.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to execute arbitrary PHP code on the Pimcore server. This can lead to complete compromise of the application, including data theft, modification, or deletion. The impact is amplified by the availability of public exploit techniques and gadget chains. Given Pimcore's use in content management and e-commerce, a successful attack could have significant financial and reputational consequences.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the vendor-supplied patch or upgrade to a version of Pimcore that addresses CVE-2026-45162.</li>
<li>Deploy the Sigma rules provided in this brief to your SIEM and tune them for your environment to detect potential exploitation attempts.</li>
<li>Monitor web server logs for suspicious activity related to database access (e.g., SQL injection attempts) that could be used to inject malicious serialized data into database tables.</li>
<li>Implement strict file permission controls on the web server to prevent unauthorized writing to the filesystem, mitigating the risk of injecting serialized data into files like <code>webdav-delete.dat</code>.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>deserialization</category><category>remote code execution</category><category>php</category></item></channel></rss>