CVE-2026-49254 Dragonfly Manager OAuth provider client_secret disclosure via unauthenticated GET /api/v1/oauth
Unauthenticated attackers can retrieve OAuth client secrets from Dragonfly Manager if OAuth providers are configured, potentially enabling identity provider abuse.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-49254?
CVE-2026-49254 is a low-severity vulnerability in dragonflyoss dragonfly, published on 15 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Dragonfly is an open source P2P-based file distribution and image acceleration system. Prior to 2.4.4, manager/router/router.go registers GET /api/v1/oauth and GET /api/v1/oauth/:id without jwt.MiddlewareFunc() or RBAC(), while manager/handlers/oauth.go returns models.Oauth records and manager/models/oauth.go exposes Oauth.ClientSecret as client_secret in JSON. When an administrator has configured a GitHub or Google OAuth provider, an unauthenticated network client can reach GetOauth or GetOauths, load the stored models.Oauth record, and obtain the provider's client secret, client identifier, and redirect URL. The earlier GHSA-j8hf-cp34-g4j7 remediation protected the /jobs group only and did not protect these OAuth GET handlers. Disclosure of client_secret can enable abuse of the configured identity-provider integration, subject to the provider's redirect URI restrictions. This issue is fixed in 2.4.4.
Which versions are affected by CVE-2026-49254?
3 open source packages ship an affected version, including d7y.io/dragonfly/v2.
| Package | Affected | Fixed in |
|---|---|---|
d7y.io/dragonfly/v2 Go | All versions | 2.4.4 |
d7y.io/dragonfly/v2 Go | All versions | 2.4.4 |
d7y.io/dragonfly/v2 Go | All versions | 2.4.4 |
How do I fix CVE-2026-49254?
Upgrade d7y.io/dragonfly/v2 to 2.4.4 or later.
Is CVE-2026-49254 being exploited?
There is no known exploitation of CVE-2026-49254 in the wild and no public exploit code.
Sources
Also known as GHSA-4q9j-6299-gxmr, GO-2026-5901.