Lookup for vulnerable packages by Package URL.

Purlpkg:golang/github.com/golang-jwt/jwt/v4@4.5.1
Typegolang
Namespacegithub.com/golang-jwt/jwt
Namev4
Version4.5.1
Qualifiers
Subpath
Is_vulnerablefalse
Next_non_vulnerable_version4.5.2
Latest_non_vulnerable_version4.5.2
Affected_by_vulnerabilities
Fixing_vulnerabilities
0
url VCID-qp47-aewx-wufh
vulnerability_id VCID-qp47-aewx-wufh
summary
Bad documentation of error handling in ParseWithClaims can lead to potentially dangerous situations
### Summary

Unclear documentation of the error behavior in `ParseWithClaims` can lead to situation where users are potentially not checking errors in the way they should be. Especially, if a token is both expired and invalid, the errors returned by `ParseWithClaims` return both error codes. If users only check for the `jwt.ErrTokenExpired ` using `error.Is`, they will ignore the embedded `jwt.ErrTokenSignatureInvalid` and thus potentially accept invalid tokens.

### Fix

We have back-ported the error handling logic from the `v5` branch to the `v4` branch. In this logic, the `ParseWithClaims` function will immediately return in "dangerous" situations (e.g., an invalid signature), limiting the combined errors only to situations where the signature is valid, but further validation failed (e.g., if the signature is valid, but is expired AND has the wrong audience). This fix is part of the 4.5.1 release.

### Workaround 

We are aware that this changes the behaviour of an established function and is not 100 % backwards compatible, so updating to 4.5.1 might break your code. In case you cannot update to 4.5.0, please make sure that you are properly checking for all errors ("dangerous" ones first), so that you are not running in the case detailed above.

```Go
token, err := /* jwt.Parse or similar */
if token.Valid {
	fmt.Println("You look nice today")
} else if errors.Is(err, jwt.ErrTokenMalformed) {
	fmt.Println("That's not even a token")
} else if errors.Is(err, jwt.ErrTokenUnverifiable) {
	fmt.Println("We could not verify this token")
} else if errors.Is(err, jwt.ErrTokenSignatureInvalid) {
	fmt.Println("This token has an invalid signature")
} else if errors.Is(err, jwt.ErrTokenExpired) || errors.Is(err, jwt.ErrTokenNotValidYet) {
	// Token is either expired or not active yet
	fmt.Println("Timing is everything")
} else {
	fmt.Println("Couldn't handle this token:", err)
}
```
references
0
reference_url https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2024-51744.json
reference_id
reference_type
scores
0
value 3.1
scoring_system cvssv3
scoring_elements CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
url https://access.redhat.com/hydra/rest/securitydata/cve/CVE-2024-51744.json
1
reference_url https://api.first.org/data/v1/epss?cve=CVE-2024-51744
reference_id
reference_type
scores
0
value 0.0006
scoring_system epss
scoring_elements 0.18644
published_at 2026-04-26T12:55:00Z
1
value 0.0006
scoring_system epss
scoring_elements 0.18666
published_at 2026-04-24T12:55:00Z
2
value 0.0006
scoring_system epss
scoring_elements 0.18779
published_at 2026-04-21T12:55:00Z
3
value 0.0006
scoring_system epss
scoring_elements 0.18761
published_at 2026-04-18T12:55:00Z
4
value 0.0006
scoring_system epss
scoring_elements 0.18749
published_at 2026-04-16T12:55:00Z
5
value 0.0006
scoring_system epss
scoring_elements 0.18897
published_at 2026-04-11T12:55:00Z
6
value 0.0006
scoring_system epss
scoring_elements 0.18799
published_at 2026-04-13T12:55:00Z
7
value 0.0006
scoring_system epss
scoring_elements 0.1885
published_at 2026-04-12T12:55:00Z
8
value 0.0006
scoring_system epss
scoring_elements 0.18984
published_at 2026-04-02T12:55:00Z
9
value 0.0006
scoring_system epss
scoring_elements 0.19036
published_at 2026-04-04T12:55:00Z
10
value 0.0006
scoring_system epss
scoring_elements 0.1876
published_at 2026-04-07T12:55:00Z
11
value 0.0006
scoring_system epss
scoring_elements 0.18841
published_at 2026-04-08T12:55:00Z
12
value 0.0006
scoring_system epss
scoring_elements 0.18892
published_at 2026-04-09T12:55:00Z
url https://api.first.org/data/v1/epss?cve=CVE-2024-51744
2
reference_url https://ftp.suse.com/pub/projects/security/yaml/suse-cvss-scores.yaml
reference_id
reference_type
scores
0
value 3.1
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
url https://ftp.suse.com/pub/projects/security/yaml/suse-cvss-scores.yaml
3
reference_url https://github.com/golang-jwt/jwt
reference_id
reference_type
scores
0
value 3.1
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
1
value 2.3
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
2
value LOW
scoring_system generic_textual
scoring_elements
url https://github.com/golang-jwt/jwt
4
reference_url https://github.com/golang-jwt/jwt/commit/7b1c1c00a171c6c79bbdb40e4ce7d197060c1c2c
reference_id
reference_type
scores
0
value 3.1
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
1
value 2.3
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
2
value LOW
scoring_system generic_textual
scoring_elements
3
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2024-11-05T16:11:29Z/
url https://github.com/golang-jwt/jwt/commit/7b1c1c00a171c6c79bbdb40e4ce7d197060c1c2c
5
reference_url https://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r
reference_id
reference_type
scores
0
value 3.1
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
1
value 2.3
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
2
value LOW
scoring_system generic_textual
scoring_elements
3
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2024-11-05T16:11:29Z/
url https://github.com/golang-jwt/jwt/security/advisories/GHSA-29wx-vh33-7x7r
6
reference_url https://nvd.nist.gov/vuln/detail/CVE-2024-51744
reference_id
reference_type
scores
0
value 3.1
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
1
value 2.3
scoring_system cvssv4
scoring_elements CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
2
value LOW
scoring_system generic_textual
scoring_elements
url https://nvd.nist.gov/vuln/detail/CVE-2024-51744
7
reference_url https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1086792
reference_id 1086792
reference_type
scores
url https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1086792
8
reference_url https://bugzilla.redhat.com/show_bug.cgi?id=2323735
reference_id 2323735
reference_type
scores
url https://bugzilla.redhat.com/show_bug.cgi?id=2323735
9
reference_url https://access.redhat.com/errata/RHSA-2025:11351
reference_id RHSA-2025:11351
reference_type
scores
url https://access.redhat.com/errata/RHSA-2025:11351
10
reference_url https://access.redhat.com/errata/RHSA-2026:2737
reference_id RHSA-2026:2737
reference_type
scores
url https://access.redhat.com/errata/RHSA-2026:2737
11
reference_url https://access.redhat.com/errata/RHSA-2026:3406
reference_id RHSA-2026:3406
reference_type
scores
url https://access.redhat.com/errata/RHSA-2026:3406
fixed_packages
0
url pkg:golang/github.com/golang-jwt/jwt/v4@4.5.1
purl pkg:golang/github.com/golang-jwt/jwt/v4@4.5.1
is_vulnerable false
affected_by_vulnerabilities
resource_url http://public2.vulnerablecode.io/packages/pkg:golang/github.com/golang-jwt/jwt/v4@4.5.1
aliases CVE-2024-51744, GHSA-29wx-vh33-7x7r
risk_score 1.4
exploitability 0.5
weighted_severity 2.8
resource_url http://public2.vulnerablecode.io/vulnerabilities/VCID-qp47-aewx-wufh
Risk_scorenull
Resource_urlhttp://public2.vulnerablecode.io/packages/pkg:golang/github.com/golang-jwt/jwt/v4@4.5.1