CVE-2024-51744
Docker vulnerability analysis and mitigation

Overview

golang-jwt is a Go implementation of JSON Web Tokens. A vulnerability was discovered in versions <= 4.5.0 where unclear documentation of the error behavior in ParseWithClaims can lead to improper error checking. The issue was disclosed on November 4, 2024 and has been assigned CVE-2024-51744 (GitHub Advisory).

Technical details

The vulnerability stems from how the ParseWithClaims function handles multiple error conditions. When a token is both expired and has an invalid signature, the function returns both error codes. If developers only check for jwt.ErrTokenExpired using error.Is, they will miss the embedded jwt.ErrTokenSignatureInvalid, potentially accepting invalid tokens. The vulnerability has been assigned a CVSS v3.1 base score of 3.1 (Low) with vector string CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N (GitHub Advisory).

Impact

If exploited, this vulnerability could lead to acceptance of invalid tokens in applications that don't properly check for all error conditions. This could potentially allow attackers to bypass token validation mechanisms, though the actual impact depends on how the application implements token verification (GitHub Advisory).

Exploitability

The vulnerability requires an attacker to craft a token that is both expired and has an invalid signature. The application must also implement error checking in a way that only checks for token expiration without verifying the signature validity. The high attack complexity and required user interaction factors contribute to its low CVSS score (GitHub Advisory).

Mitigation and workarounds

The issue has been patched in version 4.5.1 by backporting error handling logic from the v5 branch. The fix makes ParseWithClaims immediately return in 'dangerous' situations like invalid signatures. For users unable to upgrade, the workaround is to properly check for all errors, with 'dangerous' ones checked first. The recommended error checking sequence is: token validity, malformed token, unverifiable token, invalid signature, and finally expiration/activation time (GitHub Advisory).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

golang-github-golang-jwt-jwt

Affected

sid

golang-github-golang-jwt-jwt: 5.0.0+really4.5.2-1

Fixed

trixie

golang-github-golang-jwt-jwt: 5.0.0+really4.5.2-1

Fixed

SourceThis report was generated using AI

Related Docker vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-78662HIGH7.5
  • Docker logoDocker
  • terraform-fips-1.13
NoYesSep 02, 2026
CVE-2026-56855HIGH7.5
  • Docker logoDocker
  • rancher-machine
NoYesSep 02, 2026
CVE-2026-75593HIGH7.2
  • Docker logoDocker
  • container-tools:rhel8::podman
NoYesAug 19, 2026
CVE-2026-61711MEDIUM5.3
  • Docker logoDocker
  • podman-6.0
NoYesAug 19, 2026
CVE-2026-61712LOW2.3
  • Docker logoDocker
  • docker-fips-29
NoYesAug 19, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management