GHSA-w73w-5m7g-f7qc
Authorization bypass in github.com/dgrijalva/jwt-go
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/dgrijalva/jwt-go | >= 0.0.0-20150717181359-44718f8a89b0, <= 3.2.0 | no fix listed |
| Go | github.com/dgrijalva/jwt-go/v4 | < 4.0.0-preview1 | 4.0.0-preview1 |
Details
As written in the advisory (Markdown source, shown as plain text).
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](https://github.com/golang-jwt/jwt) at version 3.2.1
References
External links from the advisory. They lead to third-party sites.
- https://nvd.nist.gov/vuln/detail/CVE-2020-26160
- https://github.com/dgrijalva/jwt-go/issues/422
- https://github.com/dgrijalva/jwt-go/issues/462
- https://github.com/dgrijalva/jwt-go/pull/426
- https://github.com/dgrijalva/jwt-go/commit/ec0a89a131e3e8567adcb21254a5cd20a70ea4ab
- https://github.com/dgrijalva/jwt-go
- https://pkg.go.dev/vuln/GO-2020-0017
- https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMDGRIJALVAJWTGO-596515