CVE-2025-10573 is a stored cross-site scripting flaw in Ivanti Endpoint Manager 2024 SU4 and earlier, patched on 9 December 2025 in EPM 2024 SU4 SR1.
It is on this page not because of what happened — there is no confirmed exploitation in the wild, and this is a vulnerability disclosure rather than a breach — but because of what could have. It is the version of the Canvas architecture that a commercial buyer recognises immediately.
The vector was a crafted POST to /incomingdata/postcgi.exe, requiring no authentication at all. The injection points were device-related fields: Device ID, Display Name, OS Name.
The payload was stored directly in the EPM device database and sat there. It fired when an administrator opened the web dashboard and those fields were rendered.
At that point the attacker has the administrator's session in a product whose entire job is managing endpoints — which means authority over the machines it manages, the software deployed to them, and the security policies applied to them. One unauthenticated request to one CGI endpoint, and the blast radius is the estate.
Ivanti had no forum. No comments. No support ticket queue anywhere in the payload path. What it had was device names.
Once you accept that definition, the list gets uncomfortable quickly: log viewers, asset inventories, error dashboards, webhook payloads, filenames, user agent strings, hostnames reported by agents. Most estates have far more of these than anyone has counted, and almost all of them are rendered in exactly the kind of internal tool whose session has reach.
Untrusted input, from a source requiring no authentication. Rendered in privileged tooling. In a session with authority far beyond the page it was displayed on.
Two products in two unrelated industries, arriving at the same architecture independently. That is what makes it worth writing down as a pattern rather than as two incidents.
A nonce-based policy is what breaks this chain. With script-src 'self' 'nonce-{random}' and no 'unsafe-inline', an injected script carries no nonce, so the browser refuses to run it — and the session it was reaching for is never taken. It does not matter which field the payload arrived in or which bug let it through.
The honest framing throughout this page is could have. Ivanti shipped a fix and there is no public evidence anyone was compromised through it. That does not make the shape of it any less instructive, and the window between a stored payload landing in a database and an administrator opening the page it renders on is precisely where reporting earns its place.
The policy is the mitigation and the reporting is the detection, and it is the second half almost nobody switches on. Run CSP in report-only across the internal tools where untrusted content gets rendered, and an injected inline script announces itself the first time it fires — from the real session it fired in, with the page it fired on.
One line of code or config to deploy, and nothing is blocked while you learn what the policy would have caught. Reach out to sales@report-uri.com for a demo or a trial with no commitment.
One header. No code. Your script inventory starts populating from the first visitor.
30-day free trial · One header · No code · Cancel anytime
Script Watch will monitor all JavaScript dependencies across your entire site and immediately notify you of any changes. A new JavaScript dependency could be the start of a Magecart attack.
Because Script Watch leverages the browser native Content Security Policy, there is no code or agent to deploy and running in the browser means we analyse your site in real-time as your users are browsing. We don't have the same limitations as external scanning services such as authentication or pay walls, geo-sensitive content or an attacker potentially serving safe content to the crawler.
Data Watch will monitor all of the locations that your webpages are sending data to. If your website starts sending data to a new location, it could be the start of a Magecart attack.
With Script Watch and Data Watch combined, you can monitor for clear indicators that your site has been compromised. Attackers will always want to inject their hostile JavaScript, and they'll always want to exfiltrate their stolen data.
We often find that creating a CSP is the first difficult step that organisations face. Having a complete list of all resource dependencies across your entire site like images, scripts or styles, from both 1st-party and 3rd-party locations, is tough to achieve.
The CSP Wizard was created to solve this problem, and in seven days or less, it can give you a complete list of all resources used across your entire site.
With the list of all resources you use on your site, and our easy-to-use tool, creating a viable Content Security Policy is easier than ever with just a few clicks.
All Content Security Policies will need to be tweaked at some point. New resources may be added to the site or old resources removed, and the policy needs to be updated to reflect those changes and kept up to date.
You can import your existing policy into the CSP Builder and use our fully featured tool to make any changes that you require right there in the UI. When you're done, hit Generate, and the CSP Builder will provide you with your new, updated policy.
Script Watch and Data Watch will allow you to rapidly detect and respond to a Magecart attack and combined, that capability puts you ahead of the field. If you want to take it a step further, Content Security Policy can mitigate a Magecart attack and stop it from even happening.
Deploying an effective Content Security Policy can be difficult, but our CSP Reporting allows you to gather feedback and safely test a policy before deployment. Once deployed, an effective Content Security Policy will block a Magecart attack and stop the hostile JavaScript from even running.
We subscribe to various feeds of Threat Intelligence data, along with managing our own internally generated feeds, to keep apprised of the latest threats that exist online.
Using this Threat Intelligence Data, we can better analyse the sources of JavaScript on your website and detect malicious activity sooner.