GitHub Advisoryadvisory · Go

GHSA-w73w-5m7g-f7qc Authorization bypass in github.com/dgrijalva/jwt-go

HIGH Published 2021-05-18 Modified 2024-05-20 Official page ↗
Aliases
CVE-2020-26160
Ecosystem
Go
Packages
github.com/dgrijalva/jwt-go, github.com/dgrijalva/jwt-go/v4
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weaknesses
CWE-287, CWE-755
Reviewed
2021-05-18

Affected packages

• Go github.com/dgrijalva/jwt-go: >= 0.0.0-20150717181359-44718f8a89b0, <= 3.2.0 (no fix yet) • Go github.com/dgrijalva/jwt-go/v4: < 4.0.0-preview1 → fixed in 4.0.0-preview1

Description

jwt-go allows attackers to bypass intended access restrictions in situations with `[]string{}` for `m["aud"]` (which is allowed by the specification). Because the type assertion fails, "" is the value of aud. This is a security problem if the JWT token is presented to a service that lacks its own audience check. There is no patch available and users of jwt-go are advised to migrate to golang-jwt at version 3.2.1

Related

Alias · CVE (1)

  • CVE-2020-26160 jwt-go before 4.0.0-preview1 allows attackers to bypass intended access restrictions in situations with []string{} for m["aud"] (which is… vulnerability

Weakness · CWE (2)

  • CWE-287 Improper Authentication weakness
  • CWE-755 Improper Handling of Exceptional Conditions weakness

References