CVE-2026-44592 Gradient: Unauthenticated worker on /proto → arbitrary NAR write / cache poisoning
Unauthenticated attackers can register as workers to view all jobs and inject arbitrary data into the cache, compromising CI integrity.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-44592?
CVE-2026-44592 is a critical missing authorization vulnerability in wavelens gradient, published on 14 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Gradient is a nix-based continuous integration system. In 1.1.0, when GRADIENT_DISCOVERABLE=true (the default, and the NixOS module default), anyone who can reach /proto can register as a worker without any credentials by sending a fresh, never-registered worker UUID. The resulting session has PeerAuth::Open, i.e. it sees jobs from every organisation, and can immediately NarPush/NarUploaded arbitrary store paths into nar_storage and the cached_path table. This vulnerability is fixed in 1.1.1.
Which versions are affected by CVE-2026-44592?
How do I fix CVE-2026-44592?
No fix has been published for CVE-2026-44592 yet. Limit exposure of the affected software until one is available.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2026-44592 being exploited?
There is no known exploitation of CVE-2026-44592 in the wild and no public exploit code.
Sources
Also known as GHSA-49w6-gf3p-96m2.