CVE-2026-84452 Windows ML CLI: CORS misconfig enables localhost RCE
A malicious website can trigger arbitrary code execution in Windows ML CLI via a CORS misconfiguration and unvalidated trust_remote_code parameter.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-84452?
CVE-2026-84452 is a high-severity code injection vulnerability in microsoft winml-cli, published on 2 Sep 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
Windows ML CLI is a command line tool for building portable, performant, and high-quality AI models for Windows ML. Prior to 0.4.0, the src/winml/modelkit/serve/cli_api.py component exposes WinML CLI commands through a localhost HTTP API without authentication and configures the allow_origins setting as a wildcard in both src/winml/modelkit/serve/cli_api.py and src/winml/modelkit/serve/app.py. A malicious website loaded by a user can send cross-origin requests to /v1/cli/build or /v1/cli/config and set the trust_remote_code parameter to true, which is converted to the --trust-remote-code command-line flag without validation. This reaches AutoConfig.from_pretrained with trust_remote_code=True in src/winml/modelkit/loader/_autoconfig.py and imports Python code from an attacker-controlled model repository, resulting in arbitrary code execution as the server user. This issue is fixed in version 0.4.0.
Which versions are affected by CVE-2026-84452?
3 open source packages ship an affected version, including winml-cli.
| Package | Affected | Fixed in |
|---|---|---|
winml-cli PyPI | All versions | 0.4.0 |
winml-cli PyPI | All versions | 0.4.0 |
winml-cli PyPI | All versions | 0.4.0 |
How do I fix CVE-2026-84452?
Upgrade winml-cli to 0.4.0 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-84452 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-84452 exists.
Sources
Also known as GHSA-96p9-rh4f-92cf, PYSEC-2026-3944.