Safeguard
Vulnerability Analysis•

CVE-2025-52480: Critical Argument Injection in Registrator

CVE-2025-52480 is a critical argument injection in Registrator.jl before 1.9.5, with possible code execution. Upgrade to 1.9.5. No workaround exists.

Safeguard Security Team
4 min read

CVE-2025-52480 is a critical flaw (CVSS 9.8) in Registrator, the GitHub app that opens registration pull requests for Julia packages. Before version 1.9.5, a malicious clone URL could cause an argument injection in the gettreesha() function, which can lead to remote code execution. Upgrade to 1.9.5. No workaround is known.

What's affected

The CVE record says all versions of Registrator before 1.9.5 are vulnerable, and that Registrator 1.9.5 contains the fix. It also says no known workarounds are available. Registrator is a GitHub app that automates the creation of registration pull requests for Julia packages in the General registry.

The trigger is a clone URL returned by GitHub that is malicious, or that can be injected using upstream vulnerabilities. The weakness is classed as CWE-88. The CVSS vector is CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. This is a sibling of CVE-2025-52483, which covers the other injection point in the same release. The CISA Known Exploited Vulnerabilities flag is false for this CVE, and the record does not say it is exploited in the wild.

Most people use the public registration service rather than run their own copy, so this mainly matters to those who host Registrator themselves.

How to check if you're exposed

If you run your own Registrator instance, look at the version it is built from. From the deployment directory:

grep -n "^version" Project.toml
julia --project -e 'using Pkg; Pkg.status("Registrator")'
git describe --tags

Anything below 1.9.5 is affected. If you only use the public Julia registration flow through the GitHub app run by the registry maintainers, you do not host this code and have nothing to update yourself.

For self hosted instances, check what the process can reach. The record describes remote code execution, so look at which tokens, SSH keys and credentials live in the same environment as the server, and what the account running it can write to.

What to do now

  1. Decide whether you host Registrator yourself. If not, no action is needed on your side.
  2. If you do, upgrade to 1.9.5 or later and redeploy.
  3. Fix CVE-2025-52483 at the same time. Both are fixed in 1.9.5, so one upgrade covers both.
  4. Run the service under a dedicated low privilege account with only the tokens it needs.
  5. Review which secrets are in its environment and rotate any that you cannot account for.
  6. Check logs for registration requests that involve unusual repository URLs.

Why it matters

Argument injection is what happens when a program builds a command from text that someone else controls. If a value is passed to a tool as one more argument, an attacker can make it look like an option and change what the tool does. The usual answer is to avoid the shell and pass arguments as a list, so data stays data.

The unusual part is the source of the input. A clone URL looks like something GitHub supplies, so the code trusted it. The record notes it can be malicious or injected through other flaws upstream. Values that come from a trusted service are still input and need the same handling.

The practical lesson for build and release tooling is to keep it narrow. A service that clones repositories and runs git should hold few secrets, since a flaw in that path can reach whatever its account can reach.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Which version fixes CVE-2025-52480?

Registrator 1.9.5 fixes it, according to the CVE record and the project advisory. All earlier versions are vulnerable.

Is there a workaround?

No. The record says no known workarounds are available, so upgrade to 1.9.5.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.