Description
jwx is a Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies. Calling `jws.Parse` with a JSON serialized payload where the `signature` field is present while `protected` is absent can lead to a nil pointer dereference. The vulnerability can be used to crash/DOS a system doing JWS verification. This vulnerability has been patched in versions 2.0.19 and 1.2.28.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| lestrrat-go | jwx | >= 2.0.0, < 2.0.19, >= 1.0.8, < 1.2.28 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | boring-registry | 0.12.1-r0 | — |
| Wolfi rolling | falcoctl | 0.7.1-r1 | — |
| Wolfi rolling | gitsign +2 | 0.8.1-r0 | — |
| Wolfi rolling | kubescape | 3.0.3-r4 | — |
| Wolfi rolling | mc +1 | 0.20231220.071422-r2 | — |
| Wolfi rolling | minio +1 | 0.20231220.010002-r2 | — |
| Wolfi rolling | spire-agent +2 | 1.8.7-r2 | — |
| Wolfi rolling | tekton-chains | 0.19.0-r6 | — |
| Wolfi rolling | vexctl | 0.2.6-r0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Go | github.com/lestrrat-go/jwx | >= 1.0.8, < 1.2.28 | 1.2.28 | GHSA-pvcr-v8j8-j5q3 |
| Go | github.com/lestrrat-go/jwx/v2 | < 2.0.19 | 2.0.19 | GHSA-pvcr-v8j8-j5q3 |
References
- https://github.com/lestrrat-go/jwx/security/advisories/GHSA-pvcr-v8j8-j5q3
- https://github.com/lestrrat-go/jwx/commit/0e8802ce6842625845d651456493e7c87625601f
- https://github.com/lestrrat-go/jwx/commit/8c53d0ae52d5ab1e2b37c5abb67def9e7958fd65
- https://github.com/lestrrat-go/jwx/commit/d69a721931a5c48b9850a42404f18e143704adcd