The trust chain is anonymous request → guest identity → Aura/LWR UI‑API or ServiceNow portal search → object/field authorization → record return. The evidence attributes exposure to overly permissive guest settings, not a platform vulnerability. The fastest reliable test is a logged-out, external request against each production portal: probe Salesforce /s/sfsites/aura, the LWR UI‑API, and ServiceNow’s portal-search path, then compare returned objects, fields, attachments, and user records against an explicit public-data allowlist. A 200 alone proves nothing; unauthorized record content confirms exposure.
Tonight, review every exposed record for email addresses, usernames, phone numbers, customer identifiers, support cases, attachments, password-reset links, API keys, OAuth artifacts, integration credentials, and information useful for impersonation. Unknown: the available reporting does not establish which data classes City‑Forum extracted from each victim. Preserve request logs and identify enumeration volume, source infrastructure, accessed tables/objects, and the earliest observed access.
The CISO should order immediate deny-by-default guest authorization: disable Salesforce guest access to public APIs, disable Portal User Visibility and Site User Visibility, and remove unnecessary guest object, field, sharing, Apex, and attachment permissions. For ServiceNow, remove public access from affected pages, widgets, search sources, tables, fields, and attachments through guest ACLs; require authentication where public access is unnecessary. Rate limiting is containment, not remediation. If secrets were exposed, revoke active sessions, refresh tokens, OAuth grants, API keys, and integration credentials before rotation; then require phishing-resistant WebAuthn for workforce and administrator access.