Platform
go
Component
github.com/juju/juju
Opgelost in
2.9.57
3.6.21
4.0.6
0.0.0-20260408003526-d395054dc2c3
CVE-2026-5774 beschrijft een Denial of Service (DoS) kwetsbaarheid in Canonical Juju. Deze kwetsbaarheid ontstaat door een onjuiste synchronisatie van de userTokens map in de API server, waardoor een geauthenticeerde gebruiker mogelijk een denial of service kan veroorzaken op de server of een single-use discharge token kan hergebruiken. De kwetsbaarheid treft versies van Juju tussen 2.0.0 en 4.0.6 inclusief. Een patch is beschikbaar in versie 4.0.6.
CVE-2026-5774 treft de Juju API-server, specifiek de localLoginHandlers struct. Deze struct gebruikt een in-memory map om discharge tokens op te slaan na succesvolle lokale authenticatie. De kwetsbaarheid ligt in het feit dat deze map gelijktijdig wordt benaderd door meerdere HTTP handler goroutines zonder een synchronisatieprimitief (zoals een mutex) om deze te beschermen. Dit kan leiden tot Go runtime panics als gevolg van race conditions bij het gelijktijdig lezen, schrijven of verwijderen van tokens. In het ergste geval kan een discharge token meer dan één keer worden verbruikt voordat het wordt verwijderd, waardoor ongeautoriseerde toegang tot resources of acties binnen de Juju omgeving mogelijk wordt.
Exploitatie van deze kwetsbaarheid vereist toegang tot de Juju API-server. Een aanvaller zou meerdere lokale authenticatieverzoeken tegelijkertijd kunnen sturen, in de hoop dat het gebrek aan synchronisatie in de discharge token handling ervoor zorgt dat een token meer dan één keer wordt verbruikt. Dit zou de aanvaller toegang tot resources kunnen geven of acties binnen de Juju omgeving kunnen laten uitvoeren alsof ze een legitieme gebruiker zijn. De waarschijnlijkheid van exploitatie hangt af van de belasting op de API-server en de frequentie waarmee lokale authenticaties worden gebruikt. Het ontbreken van een KEV (Key Evidence) geeft aan dat er geen openbaar bewijs is van actieve exploitatie in het wild.
Organizations heavily reliant on Juju for application deployment and management are at significant risk. This includes cloud providers, DevOps teams, and any environment where Juju is used to orchestrate applications, especially those handling sensitive data or critical infrastructure. Environments with legacy Juju installations or those that have not implemented robust access controls are particularly vulnerable.
• linux / server: Monitor Juju API server logs for Go runtime panics or unusual authentication patterns. Use journalctl -u juju-api-server to filter for error messages related to discharge token handling.
journalctl -u juju-api-server | grep -i "panic"• go: Review Juju source code for potential concurrency issues in the localLoginHandlers struct and related functions. Use static analysis tools to identify potential race conditions.
• generic web: Monitor authentication endpoints for unusual request patterns or excessive authentication attempts. Check access logs for errors related to discharge token handling.
disclosure
Exploit Status
EPSS
0.01% (2% percentiel)
CISA SSVC
De aangeboden fix (0.0.0-20260408003526-d395054dc2c3) pakt deze kwetsbaarheid aan door geschikte synchronisatiemechanismen, zoals mutexes, te introduceren om de gelijktijdige toegang tot de discharge token map te beschermen. Het wordt ten zeerste aanbevolen om zo snel mogelijk te upgraden naar deze gepatchte versie. Controleer bovendien de beveiligingsbeleidsregels van uw Juju omgeving en beperk de toegang tot resources tot geautoriseerde gebruikers en services. Het monitoren van de Juju API-server logs op fouten of ongebruikelijk gedrag kan ook helpen om potentiële exploitatiepogingen te detecteren. Overweeg de implementatie van multi-factor authenticatie (MFA) voor een extra beveiligingslaag.
Actualice el servidor de la API de Juju a la versión 2.9.57 o superior, 3.6.21 o superior, o 4.0.6 o superior para mitigar la vulnerabilidad. La actualización corrige la sincronización incorrecta del mapa de tokens de usuario, previniendo así posibles ataques de denegación de servicio o la reutilización de tokens de descarga de un solo uso.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
Een discharge token is een tijdelijke identifier die een gebruiker toegang geeft tot een Juju omgeving na succesvolle authenticatie.
Deze kwetsbaarheid kan een aanvaller in staat stellen ongeautoriseerde toegang tot resources te krijgen of acties binnen uw Juju omgeving uit te voeren.
Als u niet onmiddellijk kunt upgraden, beperk dan de toegang tot de Juju API-server en houd de logs in de gaten voor verdachte activiteiten.
Momenteel is er geen openbaar bewijs dat deze kwetsbaarheid in het wild is uitgebuit (KEV: nee).
U kunt meer informatie over deze kwetsbaarheid vinden in de Juju GitHub repository: github.com/juju/juju
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.
Upload je go.mod-bestand en we vertellen je direct of je getroffen bent.