TL;DR: Salesforce Experience Cloud sites with misconfigured guest user profiles can expose CRM data to unauthenticated visitors, and attackers are now automating GraphQL extraction at scale, according to Obsidian Security. The governance problem is not a new exploit but an NHI access control gap that can feed later vishing and SaaS compromise.
At a glance
What this is: This is an analysis of Salesforce Experience Cloud guest user misconfigurations that can expose CRM data to anonymous visitors and enable automated GraphQL scraping at scale.
Why it matters: It matters because guest access in SaaS is an identity governance problem, and exposed records can become the starting point for credential theft, vishing, and broader SaaS compromise.
Context
Salesforce Experience Cloud guest user access is meant to support public-facing sites, but it becomes risky when object and field permissions are broader than intended. In that state, unauthenticated visitors can query CRM data without logging in, turning a configuration choice into an exposure path.
The governance gap is not a new vulnerability in the platform. It is the mismatch between what guest users are allowed to see and what the business assumes is public, which makes this an NHI access-control problem as much as a SaaS administration problem.
The article also shows how attacker tooling changes the practical risk. Automated extraction through GraphQL raises the speed and volume of abuse, so the same misconfiguration that once looked limited can now support large-scale data harvesting.
Key questions
Q: What breaks when Salesforce guest users can access CRM objects and fields too broadly?
A: The failure is that anonymous visitors inherit a read path into records the business never intended to expose. Once object and field permissions are mis-scoped, the guest profile becomes a public data interface, and attackers can use it to collect CRM information without authenticating.
Q: Why do guest accounts create more risk than internal users?
A: Guest accounts often appear quickly, inherit broad contextual visibility, and are forgotten after the immediate task ends. That creates dormant access, unclear ownership, and untracked data exposure. The risk is higher because the account was created for convenience, not through the same lifecycle discipline applied to internal identities.
Q: What are the signs that Salesforce guest access is misconfigured?
A: The clearest signs are guest users reaching records, pages, or application functions that should be private. Security teams should look for public access to sensitive objects, excessive sharing rules, access to Apex or Visualforce pages, and permissions such as View All or Modify All on unauthenticated profiles. Any unexpected exposure of PII is a strong indicator that guest controls are too loose.
Q: How should teams decide between guest sharing rules and external user access controls?
A: Use guest sharing only for the smallest possible anonymous surface and reserve external user access for authenticated use cases with explicit identity controls. If a workflow needs broader data access, the right fix is usually to redesign the access model, not to widen guest permissions.
Technical breakdown
How guest user profiles create unauthenticated data access
In Salesforce Experience Cloud, a guest user profile represents anonymous visitors who interact with a site before authentication. Access is granted through sharing rules, object permissions, field permissions, and site settings, so a misconfiguration can expose CRM records directly to anyone on the internet. The security issue is not the existence of a guest profile, but the scope of data that profile can reach. When object-level exposure and field-level visibility are not tightly constrained, the guest session becomes a read path into business records rather than a minimal public surface.
Practical implication: review guest user profile scope before relying on any public-facing Experience Cloud site.
Why GraphQL changes the abuse pattern
GraphQL can let a caller request precisely the fields and records it wants, which makes bulk extraction more efficient than older query patterns. In this case, the attacker’s modified tooling bypasses the older ~2,000-record limit and turns a configuration weakness into high-volume harvesting. The architectural issue is not that GraphQL is inherently unsafe, but that a permissive guest identity combined with a flexible query layer removes friction from abuse and increases the rate at which exposed records can be collected and reused.
Practical implication: treat guest-accessible query surfaces as data exfiltration paths, not just application endpoints.
How exposed CRM data becomes a vishing and SaaS compromise enabler
The harvested data is valuable because it supports social engineering after the initial exposure. Names, phone numbers, and contact records give attackers context they can use to impersonate IT staff or leadership and request MFA codes, approvals, or consent for rogue SaaS-connected apps. That creates a chain from public guest exposure to authenticated compromise. In identity terms, the first failure is access scope, but the downstream risk is trust exploitation, where legitimate-looking details make malicious calls or consent requests more convincing.
Practical implication: assume exposed contact data will be repurposed for identity compromise, not just privacy harm.
Threat narrative
Attacker objective: The objective is to collect CRM data at scale and convert it into stronger social engineering and SaaS compromise opportunities.
- Entry begins with mass scanning of public-facing Salesforce Experience Cloud sites using a modified Aura Inspector variant.
- Credentialless access is abused through overly permissive guest user configurations, allowing direct CRM data queries through GraphQL.
- The attacker scales collection by extracting names, phone numbers, and contact records beyond older record-limit constraints.
- The harvested data supports vishing and follow-on SaaS compromise by helping attackers impersonate trusted internal actors.
Breaches seen in the wild
- Klue OAuth Supply Chain Breach: OAuth tokens compromised in Klue integration breach affecting 700+ organisations via Salesforce data access chain.
- Salesloft OAuth token breach: hackers stole OAuth tokens to access Salesforce data via Salesloft.
Read and download The State of NHI & AI Agent Breach Report 2026, covering 200+ breaches impacting Non-Human Identities including AI Agents.
NHI Mgmt Group analysis
Guest user exposure is an identity governance failure, not a product defect. The article is explicit that the risk comes from tenant configuration choices that broaden anonymous access to objects and fields. That matters because security teams often treat public-site settings as application design details rather than access governance decisions. The practical conclusion is that guest user scope must be governed like any other identity boundary.
GraphQL turns modest misconfiguration into scalable data harvesting. A guest profile with broad visibility is already a problem, but query flexibility and automation change the blast radius. The attacker does not need a login when the query path itself is permissive. Practitioners should treat public query surfaces as governed access channels, not just developer conveniences.
Trust exploitation is the downstream identity risk of exposed contact data. The article connects harvested records to vishing and rogue SaaS approvals, which is the real business impact. Once attackers have names, roles, and phone numbers, they can move from passive exposure to active credential and consent theft. The implication is that exposure response must account for the next identity hop, not only the leaked dataset.
Guest access controls and external user controls are now part of the same exposure chain. The article shows how self-registration, portal visibility, and external defaults can extend a guest misconfiguration into authenticated access. That widens the governance scope from one profile to the surrounding external identity model. The takeaway is that SaaS exposure reviews should cover the full guest-to-external-user transition path.
Public site governance needs continuous verification, not point-in-time review. The tooling described in the article surfaces both current exposure and potential exposure paths, which is the right mental model for this class of risk. Attackers are already automating discovery, so defenders need continuous checks on guest sharing rules, API permissions, and external defaults. The practitioner conclusion is that these settings should be treated as live controls, not annual review items.
From our research library:
- The average time to mitigate a leaked secret is 36 hours, highlighting the operational burden of manual remediation processes, according to the 2024 State of Secrets Management Survey.
- The average estimated time to remediate a leaked secret is 27 days, despite 75% of organisations expressing strong confidence in their secrets management capabilities, according to the State of Secrets in AppSec.
- Read next: NHI Lifecycle Management Guide
What this signals
Guest user exposure should now be treated as a live identity boundary. Static review is not enough when attackers are actively scanning public SaaS surfaces and automating query abuse. Teams need continuous verification of guest sharing rules, external defaults, and API permissions so exposure does not outpace remediation.
Guest access, external defaults, and visibility settings form one control plane. Separating them into different operational owners creates gaps that attackers can traverse from anonymous access into authenticated compromise. The governance task is to manage that transition path as a single lifecycle, not as isolated settings.
Data exposure becomes identity compromise when the leaked records enable trust exploitation. Once attackers have names and contact details, vishing and approval fraud become much easier to execute, which raises the business impact of even small guest-user misconfigurations.
For practitioners
- Audit guest user object and field scope Map every object and field reachable by guest profiles, then remove any exposure that is not required for the site’s stated function. Verify the actual record count behind each sharing rule so you know what is reachable now, not just what is permitted in theory.
- Remove guest API access where possible Disable API Enabled and other high-risk permissions on guest user profiles unless a documented business case requires them. If a site depends on guest API access, isolate that need and test the impact in a sandbox before changing production settings.
- Eliminate legacy guest access paths Search for public groups and legacy memberships that still contain guest users, then replace them with minimal explicit sharing rules. Legacy paths often survive migration and quietly expand access beyond the current least-privilege model.
- Lock down external defaults and visibility Set external org-wide defaults to Private, and turn off Portal User Visibility and Site User Visibility unless there is a clear requirement. These settings determine how much an exposed guest path can reveal about the wider tenant.
- Treat public files and self-registration as exposure multipliers Review public file links, guest file upload settings, and self-registration options together because each can turn passive exposure into a broader compromise path. If unauthenticated users do not need these capabilities, disable them and monitor for exceptions.
Key takeaways
- Misconfigured Salesforce guest users can expose CRM data to unauthenticated visitors, turning a public-site setting into an access-control failure.
- The article links that exposure to automated GraphQL scraping and to downstream social engineering that can lead to SaaS compromise.
- The practical control point is guest user scope, supported by external defaults, visibility settings, and removal of unnecessary API permissions.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP Non-Human Identity Top 10 and OWASP API Security Top 10 address the attack and risk surface, while CIS Controls v8 and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP Non-Human Identity Top 10 | NHI-05 — Overprivileged NHI | Guest user profiles exposing CRM data are an over-privilege problem at the tenant boundary. |
| NHI-10 — Human Use of NHI | Leaked guest-access data is used for vishing and approval fraud against human users. | |
| Recommendation — Reduce guest profile scope to the minimum data and actions required for each public site. Treat public exposure of contact data as a precursor to human-targeted identity abuse. | ||
| OWASP API Security Top 10 | API2 — Broken Authentication | Unauthenticated GraphQL access through guest profiles bypasses intended access boundaries. |
| Recommendation — Harden API-facing guest paths so anonymous callers cannot query sensitive CRM data. | ||
| CIS Controls v8 | CIS-5 — Account Management | Guest profiles, portal users, and legacy memberships are account governance issues. |
| Recommendation — Review external and guest account paths to remove unnecessary access and stale memberships. | ||
| NIST CSF 2.0 | PR.AA-05 — Access Permissions, Entitlements and Authorizations | The article centers on excessive entitlements and weak authorization boundaries for guest users. |
| Recommendation — Align guest permissions to least privilege and verify authorizations continuously. | ||
Key terms
- Guest User Profile: A guest user profile is the permission set applied to anonymous visitors in an Experience Cloud site. It determines which objects, fields, files, and actions a non-authenticated user can reach. In practice, it becomes a high-risk control boundary when administrators allow more visibility than the business need requires.
- Experience Cloud: Experience Cloud is Salesforce's framework for building external-facing portals and sites. From an identity perspective, it creates a boundary between anonymous visitors, external users, and internal records, so configuration discipline determines whether public access remains minimal or becomes overexposed.
- GraphQL Exposure: GraphQL exposure is the ability for a client to query structured data through a GraphQL endpoint, often with fewer requests than older API patterns. In security terms, it matters because a misconfigured permission set can let an attacker extract large data sets quickly and with less noise.
- Trust Exploitation: Trust exploitation is the abuse of legitimate-looking communication, process, or authority to make a user or operator take an unsafe action. It is central to phishing, and it often succeeds when technical controls are sound but the human or procedural validation step is weak.
Deepen your knowledge
NHI governance, agentic AI identity, and machine identity lifecycle are core topics in our NHI Foundation Level course, the industry's only accredited NHI security programme. If you are building or maturing an IAM programme, it is worth exploring.
Published by the NHIMG editorial team on May 26, 2026.
Updated on October 8, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org