high7.5
CVE-2020-26160
Authorization bypass in github.com/dgrijalva/jwt-go
Impact
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
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| go | github.com/dgrijalva/jwt-go/v4 | < 4.0.0-preview1 | 4.0.0-preview1 |
| go | github.com/dgrijalva/jwt-go | >= 0.0.0-20150717181359-44718f8a89b0, <= 3.2.0 | none recorded |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Jwt-Go Project | Jwt-Go | through 3.2.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/dgrijalva/jwt-go/pull/426
- https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMDGRIJALVAJWTGO-596515
- https://github.com/advisories/GHSA-w73w-5m7g-f7qc
- 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/commit/ec0a89a131e3e8567adcb21254a5cd20a70ea4ab
- https://pkg.go.dev/vuln/GO-2020-0017