CVE-2026-28789 OliveTin: Unauthenticated DoS via concurrent map writes in OAuth2 state handling

High 7.5 Published Updated

Unauthenticated attackers can crash OliveTin by triggering a race condition in OAuth2 state handling, requiring OAuth2 to be enabled.

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-28789?

CVE-2026-28789 is a high-severity vulnerability in OliveTin, published on 5 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

OliveTin gives access to predefined shell commands from a web interface. Prior to version 3000.10.3, an unauthenticated denial-of-service vulnerability exists in OliveTin’s OAuth2 login flow. Concurrent requests to /oauth/login can trigger unsynchronized access to a shared registeredStates map, causing a Go runtime panic (fatal error: concurrent map writes) and process termination. This allows remote attackers to crash the service when OAuth2 is enabled. This issue has been patched in version 3000.10.3.

Weakness: CWE-662, CWE-400, CWE-362

Which versions are affected by CVE-2026-28789?

3 open source packages ship an affected version, including github.com/OliveTin/OliveTin. It affects 1 product.

PackageAffectedFixed in
github.com/OliveTin/OliveTin GoAll versionsNone
github.com/OliveTin/OliveTin GoAll versions0.0.0-20260301235225-f044d90d5525c
github.com/OliveTin/OliveTin GoAll versions0.0.0-20260301235225-f044d90d5525c

Products include Olivetin Olivetin.

How do I fix CVE-2026-28789?

Upgrade github.com/OliveTin/OliveTin to 0.0.0-20260301235225-f044d90d5525c or later.

Is CVE-2026-28789 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-28789 exists.

Sources

Also known as GHSA-45m3-398w-m2m9, GO-2026-4586.

Is CVE-2026-28789 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free