<?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/"><channel><title>Craft CMS Pro — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/craft-cms-pro/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 06 May 2026 17:49:17 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/craft-cms-pro/feed.xml" rel="self" type="application/rss+xml"/><item><title>Craft CMS GraphQL Address Resolver Missing Authorization Allows PII Disclosure</title><link>https://feed.craftedsignal.io/briefs/2026-05-craftcms-graphql-disclosure/</link><pubDate>Wed, 06 May 2026 17:49:17 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-05-craftcms-graphql-disclosure/</guid><description>A missing authorization check in the GraphQL Address element resolver of Craft CMS Pro allows a GraphQL API token scoped to a low-privilege user group to read all addresses in the system, including those belonging to users in groups the token is not authorized to access, exposing personally identifiable information (PII).</description><content:encoded><![CDATA[<p>A missing authorization check in Craft CMS Pro&rsquo;s GraphQL Address element resolver (src/gql/resolvers/elements/Address.php) allows unauthorized access to sensitive user data. Specifically, a GraphQL API token with limited permissions (e.g., read access to a single low-privilege user group) can bypass intended scope restrictions and retrieve all addresses within the system. This includes addresses associated with users belonging to groups the token should not have access to, effectively exposing PII. This vulnerability affects Craft CMS Pro versions 4.0.0 through 5.9.17 and presents a significant risk to data confidentiality, especially for organizations using GraphQL APIs for headless CMS deployments. The issue was identified through manual source code review with AI-assisted analysis.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker obtains a GraphQL API token with read access to at least one user group within Craft CMS.</li>
<li>Attacker introspects the GraphQL schema using a query to discover the available top-level queries, including <code>addresses</code>.</li>
<li>Attacker queries the <code>AddressInterface</code> to identify exposed fields, such as <code>fullName</code>, <code>addressLine1</code>, <code>organization</code>, and <code>organizationTaxId</code>, revealing potential PII.</li>
<li>Attacker makes a baseline query to the GraphQL API using the token to confirm the token&rsquo;s user scope is limited. This confirms the token only has access to a specific user group.</li>
<li>Attacker issues a query to retrieve all addresses using the GraphQL API, bypassing intended scope restrictions.</li>
<li>The API returns address data for ALL user groups, including those outside the token&rsquo;s authorized scope, exposing PII of users in restricted groups.</li>
<li>Attacker leverages the <code>ownerId</code> argument to perform an IDOR attack, targeting specific users&rsquo; addresses by their IDs without proper authorization.</li>
<li>Attacker extracts sensitive address information, including corporate tax IDs, for internal users they should not have access to, completing the data exfiltration.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The vulnerability allows an attacker with minimal permissions to extract sensitive PII, including full names, home addresses, organizations, and tax IDs. This poses a direct threat to user data privacy and organizational security. All Craft CMS Pro sites (v4.0.0+) that use GraphQL API tokens with user group scoping and store user addresses are potentially affected. The targeted extraction via IDOR can lead to reconnaissance against high-value users like administrators. If successful, the attacker can gain unauthorized access to confidential information, leading to potential financial loss, reputational damage, and legal repercussions.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade Craft CMS to versions 5.9.18 or 4.17.12 or later to patch CVE-2026-44010.</li>
<li>Deploy the Sigma rule <code>Detect CraftCMS GraphQL Address Resolver Unauthorized Access</code> to your SIEM to detect exploitation attempts.</li>
<li>Review and restrict the permissions of GraphQL API tokens to follow the principle of least privilege, minimizing the potential impact of unauthorized access.</li>
<li>Monitor web server logs for unusual GraphQL queries targeting the <code>addresses</code> endpoint.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>craftcms</category><category>graphql</category><category>pii</category><category>disclosure</category></item></channel></rss>