Published · 6h agoSecurity2 min read
Noma Labs finds Salesforce Agentforce flaw letting attackers exfiltrate CRM data via a $5 whitelisted domain
Noma Labs rated its ForcedLeak chain in Salesforce Agentforce at CVSS 9.4. The instruction arrived in a lead form, and the CRM data left through an image request to a domain the allow policy already trusted.
Not a builder's beat, but builders have a standing stake in it.See today for builders

What happened
- Noma Labs rated ForcedLeak, an indirect prompt injection chain in Salesforce Agentforce that could let external attackers exfiltrate CRM data, at CVSS 9.4 critical severity.
- The payload sat in the description field of a Web-to-Lead submission and fired later, when an employee asked the agent about that lead, with CRM data leaving through image requests that bypassed security controls.
- Noma says the injected payload executes in the context of the running user, so what leaks depends on the data that account can reach and on the actions the payload is configured to call.
- EchoLeak, CVE-2025-32711, produced the same outcome against Microsoft 365 Copilot: remote, unauthenticated data exfiltration from a single crafted email.
- Service desk integrations now let AI agents lock a device, erase it during offboarding and retrieve FileVault recovery keys from Jamf without anyone opening the Jamf console.
Compiled by The WatchSomething wrong?How this is made
Why it matters
- constraint Salesforce's patch stops Agentforce output from going to untrusted URLs, so the injection still succeeds and the defense holds only as long as the URL allow list does.
- capability A Ravenna workflow that locks an assigned Mac the moment an employee reports it stolen will also lock one when the report is text an attacker planted.
- contradiction Noma tells customers to review 30 to 60 days of agent interactions for anomalies, while Console advertises that every Jamf action it fires is logged and auditable, so an operator's ability to reconstruct what an agent did depends on which product holds the trail.
- decision Where 50 to 70 percent of internal tickets resolve without a human, the agent's own permission set is the access control, and someone has to own scoping it.
The only purchase in the ForcedLeak chain was a domain. Noma Labs said the exfiltration step used a whitelisted domain that cost $5 [1]. Reaching it took a content security policy bypass, weak context validation, and a model that treated instructions arriving as data the same way it treated the employee's own request [4].
Salesforce began enforcing Trusted URL allow lists for Agentforce and Einstein Generative AI agents on September 8, 2025, and Noma says customers are not affected by the attack as a result [7]. Aim Security disclosed EchoLeak in June 2025; Microsoft assigned CVE-2025-32711 and issued emergency patches [11]. About three months separate the two dates [18].
Both chains ended in the same place. EchoLeak evaded Microsoft's XPIA prompt-injection classifier, got around link redaction using reference-style Markdown, exploited auto-fetched images, and pushed data through a Microsoft Teams proxy that the content security policy allowed, with no user interaction at any step [10]. Each of the two publicly documented production prompt injection chains exfiltrated through an automatic fetch to an already permitted domain [17].
An agent wired into Jamf does not only read; it locks, wipes and releases keys, and it decides when based on text a person typed into a chat window or a web form. Neither writeup offers a way to tell an injected instruction from a legitimate one at the moment the agent acts. By mid-2024, more than 10,000 businesses had integrated Copilot into their Microsoft 365 workflows, according to the George Washington University case study on EchoLeak [12].
What to watch
- Whether Microsoft or Salesforce ship a control that blocks the injected instruction rather than the outbound request.
- Whether the 30-60 day lead-data audits Noma recommends turn up real submissions carrying injection payloads.
- Whether an injection of this class reaches a device action: a Jamf lock, a wipe, or a FileVault key release triggered by attacker text.
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Noma Labs discovered the ForcedLeak vulnerability chain, which allows external attackers to exfiltrate sensitive CRM data from Salesforce Agentforce through an indirect prompt injection attack, using a whitelisted domain that cost $5.
ReportedView cited source - [2]
Noma Labs discovered ForcedLeak, a critical severity (CVSS 9.4) vulnerability chain in Salesforce Agentforce that could enable external attackers to exfiltrate sensitive CRM data through an indirect prompt injection attack.
ReportedView cited source - [3]
The attacker submits a Web-to-Lead form with malicious instructions hidden in the description field; when an internal employee later queries the AI about that lead, the AI executes both the employee's legitimate request and the attacker's hidden commands, and the system transmits Salesforce CRM information to attacker-controlled servers through image requests that bypass security controls.
ReportedView cited source - [4]
By exploiting weaknesses in context validation, overly permissive AI model behavior and a Content Security Policy bypass, attackers can create malicious Web-to-Lead submissions that execute unauthorized commands when processed by Agentforce; the LLM lacked the ability to distinguish legitimate data loaded into its context from malicious instructions.
ReportedView cited source - [5]
On activation the injected payload executes within the context of the running user: for Agent Service Agent, the user under which the agent operates; for employee agents, the organizational user interacting with the agent. Disclosure depends on the data accessibility of the executing user and the configured actions of the payload.
ReportedView cited source - [6]
Salesforce released patches that prevent output in Agentforce agents from being sent to untrusted URLs.
ReportedView cited source - [7]
On September 8, 2025, Salesforce began enforcement of Trusted URL allow lists for Agentforce and Einstein Generative AI agents as a defense-in-depth control against data escaping via external requests after a successful prompt injection; as a result of this mitigation customers are not affected by this indirect prompt injection attack.
ReportedView cited source - [8]
Noma advises customers to audit existing lead data from recent months for suspicious submissions and to review AI agent interactions from the past 30-60 days for anomalous behavior.
ReportedView cited source - [9]
EchoLeak (CVE-2025-32711) was a zero-click prompt injection vulnerability in Microsoft 365 Copilot that enabled remote, unauthenticated data exfiltration via a single crafted email.
ReportedView cited source - [10]
EchoLeak chained multiple bypasses: evading Microsoft's XPIA (Cross Prompt Injection Attempt) classifier, circumventing link redaction with reference-style Markdown, exploiting auto-fetched images, and abusing a Microsoft Teams proxy allowed by the content security policy, achieving full privilege escalation across LLM trust boundaries without user interaction.
ReportedView cited source - [11]
In June 2025 researchers at Aim Security disclosed EchoLeak; Microsoft assigned CVE-2025-32711 to the flaw and issued emergency patches.
ReportedView cited source - [12]
By mid-2024, over 10,000 businesses had integrated Copilot into their Microsoft 365 workflows.
ReportedView cited source - [13]
Through the Ravenna + Jamf integration, service desk agents can lock lost or stolen devices, retrieve FileVault recovery keys and erase devices during offboarding without opening the Jamf console.
ReportedView cited source - [14]
Using Ravenna's workflow builder, when an employee reports a stolen laptop Ravenna can automatically identify the assigned device and lock it in Jamf, and offboarding workflows can trigger device wipe actions.
ReportedView cited source - [15]
Console connects to Jamf via API and continuously syncs device data; if a device is reported lost or stolen, Console can instantly trigger a Jamf lock or wipe automatically or with IT approval, and all actions are logged, auditable and initiated from a simple Slack request.
ReportedView cited source - [16]
Console is already used by companies including Ramp, Scale AI and Webflow to automate 50-70% of their internal support tickets.
ReportedView cited source - [17]
Both publicly documented production prompt injection chains, EchoLeak and ForcedLeak, exfiltrated data through an automatically fetched image request to a domain already permitted by policy: two of two.
Derived - [18]
June 2025, when Aim Security disclosed EchoLeak, to September 8, 2025, when Salesforce began enforcing Trusted URL allow lists, is about three months.
Derived
Sources & coverage · 4 publishers
The reporting this story was synthesized from, earliest first. Every link goes to the original.
- jamf.comSep 25Introducing Jamf + Console
- ravenna.aiMar 12Ravenna + Jamf: Device Support in Your Service Desk