Vulnerabilities discovered by 4rthur's researchers and in joint research with u9up, our AI security research partner, across open-source and commercial software. We practice responsible disclosure by reporting to vendors first and ensuring a fix is available before publication. Each advisory lists the affected versions, the fix, any workaround, and the disclosure timeline.

Rows tagged u9up come from our joint research with u9up, our AI security research partner. u9up.com ↗
Axolotl's multipack patch loaded the base model with trust_remote_code hardcoded on, and the guard meant to stop that was skipped because the setting defaulted to None rather than False. A training run whose base_model points at a crafted Hugging Face repository runs that repository's Python.
Only runs that use sample packing, with a base model from a repository the attacker controls.
Train only from base-model repositories you trust.
Gregory Tan, u9up
Headroom's LLM proxy decided whose stored LLM memory a request touched from the x-headroom-user-id header, and nothing tied that header to the caller. Naming another user's ID read or wrote that user's memory.
Reachable from the network without authentication when the proxy runs from the shipped docker-compose.yml, which listens on 0.0.0.0 and doesn't require HEADROOM_PROXY_TOKEN. The pip-installed proxy binds 127.0.0.1 by default.
Require HEADROOM_PROXY_TOKEN and keep the proxy off networks you don't trust.
Gregory Tan, u9up
Headroom's LLM proxy let the caller choose the upstream with the x-headroom-base-url header and checked only that it was an http or https URL. Requests reached loopback, private-network and cloud-metadata addresses, the responses came back to the caller, and the caller's Authorization header went to whichever host they named.
Reachable from the network without authentication when the proxy runs from the shipped docker-compose.yml, which listens on 0.0.0.0 and doesn't require HEADROOM_PROXY_TOKEN. The pip-installed proxy binds 127.0.0.1 by default.
Require HEADROOM_PROXY_TOKEN and keep the proxy off networks you don't trust.
Gregory Tan, u9up
A notebook could carry an MCP server entry whose command marimo launched as a local process the moment the notebook opened in edit mode, before any cell ran and without authentication.
The victim has to open the crafted notebook in edit mode.
Don't open notebooks from sources you don't trust in edit mode.
Gregory Tan, u9up
A notebook's PEP 723 metadata could set the AI provider's base_url, and marimo let it override the operator's own setting. The operator's next AI request sent their OPENAI_API_KEY to the attacker's endpoint, with no cell run.
The operator has to open the notebook and make an AI request with a provider key set in the environment.
Keep provider API keys out of the environment when you open notebooks you don't trust.
Gregory Tan, u9up
The fix for CVE-2023-1313 blocked PHP uploads by file extension and missed .phar and .phtml. A user who can upload assets saves a PHP script under either one, opens its asset link, and runs commands on the server. The maintainer shipped a fix without answering the original huntr report, so huntr could not assign a CVE. Snyk did.
Exploitable only where the web server runs .phar or .phtml files as PHP.
Stop the web server executing PHP from the directory Cockpit stores uploads in, or limit asset uploads to accounts you trust.
Choo Chi Siang
Cockpit accepted HTML files as assets and served them from its own origin. Anyone who opened such an asset's link ran the script inside it as Cockpit, where it can act with their session.
The attacker needs an account that can upload assets, and the victim has to open the file's link.
Limit asset uploads to accounts you trust.
Choo Chi Siang
The fix for CVE-2023-2752 still let HTML event-handler attributes through, so the answer field could again store script that runs in the browser of anyone who opens the FAQ.
The attacker needs an account that can add or edit FAQs.
Limit FAQ editing to accounts you trust.
Choo Chi Siang
phpMyFAQ saved the answer field of an FAQ entry without sanitising it. A script placed there runs in the browser of anyone who opens the FAQ, with whatever access their session carries.
The attacker needs an account that can add or edit FAQs.
Limit FAQ editing to accounts you trust.
Choo Chi Siang
TeamPass's logout endpoint took the user to log out from a request parameter and never checked it against the caller's session. Any logged-in user, however low their role, could end anyone's session, an administrator's included.
Any authenticated account will do. The default role is enough.
None. Any account can trigger it, so the fix is to upgrade.
Choo Chi Siang
Cockpit's asset manager accepted any file type, PHP scripts included. A user who can upload assets uploads a script, opens its asset link, and runs commands on the server.
The attacker needs an account that can upload assets.
Stop the web server executing PHP from the directory Cockpit stores uploads in, or limit asset uploads to accounts you trust.
Choo Chi Siang
Severity is the CVSS 3.1 base score NVD assigns, or the issuing CNA's where NVD hasn't scored it. One more finding is in coordinated disclosure with its vendor and will appear here once a fix ships. Anything we've reported that isn't patched yet won't be listed.
Email security@4rthur.ai. Tell us what you found and how to reproduce it. We'll confirm the finding, keep you updated while we fix it, and credit you when we publish. Unless you'd rather we didn't.
The Adversarial Assessment is free for a limited time. Give us a company name and we'll show you what's already exposed.
Request your assessment →