Unauthorized Outbound Access via Remote Site Settings Misconfiguration
This lab explains how overly flexible endpoint selection combined with broad Remote Site Settings can allow unintended outbound callouts, data exfiltration, and SSRF-like abuse patterns in Salesforce integrations.
Executive Summary
Remote Site Settings are required for Apex callouts, but risk grows when package code lets users influence target hosts, paths, or protocols dynamically. If the allowlist is broad and endpoint assembly is weak, outbound channels become attacker-steerable.
In managed packages, this can expose customer data to unauthorized external systems and create high-severity review findings around trust-boundary enforcement.
Salesforce Attack Surface
Dynamic endpoint construction: host/path derived from user input, custom settings, or metadata
Over-broad Remote Site allowlists: wildcard-like endpoint governance by policy/process gaps
Integration proxy controllers: generic HTTP wrappers exposing method, URL, or header control
Credentialed callouts: sensitive headers/tokens sent to attacker-controlled domains
Diagnostic utilities: test-callout features accidentally exposed in production contexts
Business Impact
Data exfiltration: outbound requests send records or tokens to unauthorized endpoints
Backend abuse: package functionality used as an outbound relay/proxy
Credential exposure: API keys and auth headers leak via malicious endpoint selection
Compliance and trust risk: uncontrolled integrations violate customer boundary expectations
Security review failures: endpoint validation gaps are common AppExchange blockers