Skip to content
OpenAdvisories
Low · 3.1 CVE-2024-51744 EUVD-2024-3178GHSA-29wx-vh33-7x7rGO-2024-3250

Bad documentation of error handling in ParseWithClaims can lead to potentially dangerous situations in golang-jwt

Published Nov 4, 2024 · Updated Nov 5, 2024 · Assigned by GitHub_M

Vendor: golang-jwt Product: jwt Package: aactl Package: actions-runner-controller Package: actions-runner-controller-compat Package: application-gateway-kubernetes-ingress Package: argo-events Package: argo-rollouts Package: argo-workflows Package: atlantis Package: azcopy Package: azcopy Package: bank-vaults Package: bank-vaults-template Package: boring-registry Package: buildctl Package: buildkitd Package: cert-manager Package: cf-cli Package: chartmuseum Package: coredns Package: cosign Package: crossplane-crank Package: crossplane-provider-azure-authorization Package: crossplane-provider-azure-authorization-compat Package: crossplane-provider-azure-managedidentity Package: crossplane-provider-azure-managedidentity-compat Package: crossplane-provider-azure-sql Package: crossplane-provider-azure-sql-compat Package: crossplane-provider-azure-storage Package: crossplane-provider-azure-storage-compat Package: crossplane-provider-family-azure Package: crossplane-provider-family-azure-compat Package: dcos-cli Package: docker-dind Package: doppler-kubernetes-operator Package: etcd Package: falcoctl Package: flannel Package: flux-image-reflector-controller Package: flux-image-reflector-controller-iamguarded-compat Package: flux-notification-controller Package: flux-notification-controller-iamguarded-compat Package: flux-source-controller Package: flux-source-controller-iamguarded-compat Package: flyte Package: git-sync Package: git-sync-compat Package: gitea Package: gitea-compat Package: github.com/golang-jwt/jwt/v4 Package: gitsign Package: gitsign-config Package: gitsign-credential-cache Package: golang-github-golang-jwt-jwt Package: golang-github-golang-jwt-jwt Package: golang-github-golang-jwt-jwt-v5 Package: goreleaser Package: grafana-alloy Package: guac Package: guaccsub Package: guacgql Package: guacingest Package: guacone Package: influxdb Package: jx Package: k3s Package: k3s-multicall Package: k3s-static Package: kaniko Package: kaniko-compat Package: kaniko-warmer Package: kaniko-warmer-compat Package: katib-controller Package: katib-controller-compat Package: katib-db-manager Package: katib-db-manager-compat Package: katib-earlystopping Package: katib-file-metricscollector Package: katib-file-metricscollector-compat Package: katib-suggestion-goptuna Package: katib-suggestion-goptuna-compat Package: katib-suggestion-hyperband Package: katib-suggestion-hyperopt Package: katib-suggestion-nas-darts Package: katib-suggestion-nas-enas Package: katib-suggestion-optuna-enas Package: katib-suggestion-pbt-enas Package: katib-suggestion-skopt-enas Package: katib-tfevent-metricscollector Package: keda Package: kine Package: ko Package: kots Package: kots-compat Package: kots-symlink-compat Package: kube-vip-cloud-provider Package: kubectl-1.27 Package: kubectl-1.27-default Package: kubectl-1.28 Package: kubectl-1.28-default Package: kubectl-1.29 Package: kubectl-1.29-default Package: kubectl-argo-rollouts Package: kubectl-bash-completion-1.27 Package: kubectl-bash-completion-1.28 Package: kubectl-bash-completion-1.29 Package: kubeflow-katib Package: kubernetes Package: kubernetes-dashboard-auth Package: kubernetes-dashboard-auth-compat Package: kubescape Package: kubevirt Package: mc Package: mc-iamguarded-2025-compat Package: minio Package: minio-iamguarded-2025-compat Package: minio-operator Package: minio-operator-compat Package: minio-operator-sidecar Package: minio-operator-sidecar-compat Package: moby-engine Package: nmi Package: nuclei Package: octo-sts Package: octo-sts-webhook Package: openbao Package: openbao-compat Package: opentelemetry-collector-contrib Package: opentelemetry-collector-contrib-compat Package: packer Package: policy-controller Package: policy-controller-tester Package: prometheus Package: promxy Package: pulumi-kubernetes-operator Package: rclone Package: rclone-compat Package: rook Package: scorecard Package: secrets-store-csi-driver-provider-azure Package: skaffold Package: tdbg Package: tdbg-compat Package: tekton-chains Package: telegraf Package: temporal Package: temporal-cassandra-tool Package: temporal-cassandra-tool-compat Package: temporal-compat Package: temporal-server Package: temporal-server-compat Package: temporal-server-oci-entrypoint Package: temporal-server-schema Package: temporal-sql-tool Package: temporal-sql-tool-compat Package: terraform Package: terraform-compat Package: terraform-local-provider-config Package: terraform-provider-azurerm Package: tkn Package: trivy Package: vexctl Package: wal-g Package: wal-g-pg Package: weaviate Package: zarf Package: zot Ecosystem: Azure Linux Ecosystem: Debian Ecosystem: Go Ecosystem: Ubuntu Ecosystem: Wolfi

Description

golang-jwt is a Go implementation of JSON Web Tokens. 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. A fix has been back-ported with 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. 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.

Affected products

VendorProductAffectedFixed
golang-jwt jwt < 4.5.1 —

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.

ReleasePackageFixed inAdvisory
Debian 14 golang-github-golang-jwt-jwt 5.0.0+really4.5.2-1 —
Debian 13 golang-github-golang-jwt-jwt 5.0.0+really4.5.2-1 —
Debian 12 golang-github-golang-jwt-jwt No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 golang-github-golang-jwt-jwt +1 No fix yet —
Ubuntu 26.04 LTS golang-github-golang-jwt-jwt +1 No fix yet —
Ubuntu 25.10 golang-github-golang-jwt-jwt +1 No fix yet —
Ubuntu 24.04 LTS golang-github-golang-jwt-jwt +1 No fix yet —
Ubuntu 22.04 LTS golang-github-golang-jwt-jwt No fix yet —
ReleasePackageFixed inAdvisory
Red Hat Ceph Storage 7 ceph +25 2:18.2.1-381.el8cp RHSA-2026:2769
Red Hat Ceph Storage 7 cephadm 2:18.2.1-381.el9cp RHSA-2026:2769
ReleasePackageFixed inAdvisory
SLES 15 SP6 cosign 2.5.0-150400.3.27.1 SUSE-SU-2025:1333-1
SLES 15 SP6 golang-github-prometheus-prometheus 2.53.3-150100.4.23.1 SUSE-SU-2025:0546-1
SLES 15 SP6 golang-github-prometheus-promu 0.17.0-150000.3.24.1 SUSE-SU-2025:0525-1
SLES 15 SP6 govulncheck-vulndb 0.0.20241112T145010-150000.1.17.1 SUSE-SU-2024:4042-1
SLES 15 SP6 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SLES 15 SP5 cosign 2.5.0-150400.3.27.1 SUSE-SU-2025:1333-1
SLES 15 SP5 govulncheck-vulndb 0.0.20241112T145010-150000.1.17.1 SUSE-SU-2024:4042-1
SLES 15 SP5 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SLES 15 SP4 cosign 2.5.0-150400.3.27.1 SUSE-SU-2025:1333-1
SLES 15 SP4 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SLES 15 SP3 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
Show 14 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP5 cosign 2.5.0-150400.3.27.1 SUSE-SU-2025:1333-1
SLES for SAP 15 SP5 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SLES for SAP 15 SP4 cosign 2.5.0-150400.3.27.1 SUSE-SU-2025:1333-1
SLES for SAP 15 SP4 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SLES for SAP 15 SP3 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SLE HPC 15 SP5 cosign 2.5.0-150400.3.27.1 SUSE-SU-2025:1333-1
SLE HPC 15 SP5 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SLE HPC 15 SP4 cosign 2.5.0-150400.3.27.1 SUSE-SU-2025:1333-1
SLE HPC 15 SP4 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SLE HPC 15 SP3 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SUSE Package Hub 15 SP6 coredns 1.12.1-bp156.4.6.5 openSUSE-SU-2025:0131-1
SUSE Manager Server 4.3 cosign 2.5.0-150400.3.27.1 SUSE-SU-2025:1333-1
SUSE Manager Server 4.3 release-notes-susemanager 4.3.15.2-150400.3.133.1 SUSE-SU-2025:01985-1
SUSE Manager Server 4.3 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SUSE Manager Proxy Module 4.3 golang-github-prometheus-prometheus 2.53.3-150100.4.23.1 SUSE-SU-2025:0546-1
SUSE Manager Proxy 4.3 cosign 2.5.0-150400.3.27.1 SUSE-SU-2025:1333-1
SUSE Manager Proxy 4.3 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SUSE Manager Client Tools for SLE Micro 5 dracut-saltboot 0.1.1728559936.c16d4fb-150000.1.56.1 SUSE-SU-2025:0525-1
SUSE Manager Client Tools for SLE Micro 5 uyuni-tools 0.1.28-150000.1.16.1 SUSE-SU-2025:0525-1
SUSE Manager Client Tools 15 dracut-saltboot 0.1.1728559936.c16d4fb-150000.1.56.1 SUSE-SU-2025:0525-1
SUSE Manager Client Tools 15 golang-github-prometheus-prometheus 2.53.3-150000.3.59.1 SUSE-SU-2025:0525-1
SUSE Manager Client Tools 15 grafana 10.4.13-150000.1.66.1 SUSE-SU-2025:0525-1
SUSE Manager Client Tools 15 spacecmd 5.0.11-150000.3.130.1 SUSE-SU-2025:0525-1
SUSE Manager Client Tools 15 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
SUSE Manager Client Tools 15 supportutils-plugin-susemanager-client 5.0.4-150000.3.27.1 SUSE-SU-2025:0525-1
SUSE Manager Client Tools 15 uyuni-tools 0.1.28-150000.1.16.1 SUSE-SU-2025:0525-1
SUSE Manager Client Tools 12 golang-github-prometheus-prometheus 2.53.3-1.56.1 SUSE-SU-2025:0524-1
SUSE Manager Client Tools 12 golang-github-prometheus-promu 0.17.0-1.24.1 SUSE-SU-2025:0524-1
SUSE Manager Client Tools 12 grafana 10.4.13-1.66.2 SUSE-SU-2025:0524-1
SUSE Manager Client Tools 12 spacecmd 5.0.11-38.153.1 SUSE-SU-2025:0524-1
SUSE Manager Client Tools 12 supportutils-plugin-salt 1.2.3-6.25.1 SUSE-SU-2025:0524-1
SUSE Manager Client Tools 12 supportutils-plugin-susemanager-client 5.0.4-6.33.1 SUSE-SU-2025:0524-1
SUSE Manager Client Tools 12 uyuni-tools 0.1.28-1.16.1 SUSE-SU-2025:0524-1
SUSE Enterprise Storage 7.1 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed coredns 1.11.3+git129.387f34d-1.1 openSUSE-SU-2024:14481-1
openSUSE Tumbleweed cosign 2.5.0-1.1 openSUSE-SU-2025:14988-1
openSUSE Tumbleweed flannel 0.28.10-1.1 openSUSE-SU-2026:12270-1
openSUSE Tumbleweed govulncheck-vulndb 0.0.20241112T145010-1.1 openSUSE-SU-2024:14484-1
openSUSE Tumbleweed grafana 11.5.1-1.1 openSUSE-SU-2025:14768-1
openSUSE Tumbleweed kubectl-retina 1.3.1-1.1 openSUSE-SU-2026:12297-1
openSUSE Tumbleweed kumactl 3.0.0-1.1 openSUSE-SU-2026:12300-1
openSUSE Tumbleweed rclone 1.68.1-2.1 openSUSE-SU-2024:14495-1
openSUSE Tumbleweed traefik 3.2.1-1.1 openSUSE-SU-2024:14522-1
openSUSE Tumbleweed traefik2 2.11.14-1.1 openSUSE-SU-2024:14517-1
openSUSE Tumbleweed trivy 0.59.1-1.1 openSUSE-SU-2025:14840-1
openSUSE Tumbleweed velociraptor 0.7.0.4.git142.862ef23-1.1 openSUSE-SU-2025:14663-1
openSUSE Leap 16.0 coredns 1.14.0-bp160.1.1 openSUSE-SU-2026:20099-1
openSUSE Leap 15.6 coredns 1.12.1-bp156.4.6.5 openSUSE-SU-2025:0131-1
openSUSE Leap 15.6 cosign 2.5.0-150400.3.27.1 SUSE-SU-2025:1333-1
openSUSE Leap 15.6 dracut-saltboot 0.1.1728559936.c16d4fb-150000.1.56.1 SUSE-SU-2025:0525-1
openSUSE Leap 15.6 golang-github-prometheus-prometheus 2.53.3-150100.4.23.1 SUSE-SU-2025:0546-1
openSUSE Leap 15.6 golang-github-prometheus-promu 0.17.0-150000.3.24.1 SUSE-SU-2025:0525-1
openSUSE Leap 15.6 govulncheck-vulndb 0.0.20241112T145010-150000.1.17.1 SUSE-SU-2024:4042-1
openSUSE Leap 15.6 spacecmd 5.0.11-150000.3.130.1 SUSE-SU-2025:0525-1
openSUSE Leap 15.6 supportutils-plugin-salt 1.2.3-150000.3.16.1 SUSE-SU-2025:0525-1
openSUSE Leap 15.6 supportutils-plugin-susemanager-client 5.0.4-150000.3.27.1 SUSE-SU-2025:0525-1
openSUSE Leap 15.5 govulncheck-vulndb 0.0.20241112T145010-150000.1.17.1 SUSE-SU-2024:4042-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 docker 25.0.8-1.amzn2023.0.1 ALAS2023-2025-852
Amazon Linux 2023 runfinch-finch 1.6.0-1.amzn2023.0.1 ALAS2023-2025-834, ALAS2023-2025-816

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 application-gateway-kubernetes-ingress 1.7.7-1 —
Azure Linux 3 azcopy 10.25.1-4 —
Azure Linux 3 cert-manager 1.12.15-1 —
Azure Linux 3 coredns 1.11.4-1 —
Azure Linux 3 dcos-cli 1.2.0-18 —
Azure Linux 3 etcd 3.5.18-1 —
Azure Linux 3 flannel 0.24.2-13 —
Azure Linux 3 influxdb 2.7.5-4 —
Azure Linux 3 jx 3.10.182-1 —
Azure Linux 3 keda 2.14.1-7 —
Azure Linux 3 kubernetes 1.30.10-5 —
Azure Linux 3 moby-engine 25.0.3-13 —
Azure Linux 3 packer 1.9.5-9 —
Azure Linux 3 prometheus 2.45.4-12 —
Azure Linux 3 telegraf 1.31.0-7 —
Azure Linux 2 (CBL-Mariner) application-gateway-kubernetes-ingress 1.4.0-25 —
Azure Linux 2 (CBL-Mariner) azcopy 10.25.1-5 —
Azure Linux 2 (CBL-Mariner) cert-manager 1.11.2-22 —
Azure Linux 2 (CBL-Mariner) cf-cli 8.4.0-24 —
Azure Linux 2 (CBL-Mariner) coredns 1.11.1-18 —
Azure Linux 2 (CBL-Mariner) dcos-cli 1.2.0-21 —
Azure Linux 2 (CBL-Mariner) etcd 3.5.21-1 —
Azure Linux 2 (CBL-Mariner) influxdb 2.6.1-22 —
Azure Linux 2 (CBL-Mariner) jx 3.2.236-21 —
Azure Linux 2 (CBL-Mariner) keda 2.4.0-29 —
Azure Linux 2 (CBL-Mariner) kube-vip-cloud-provider 0.0.2-22 —
Azure Linux 2 (CBL-Mariner) kubernetes 1.28.4-17 —
Azure Linux 2 (CBL-Mariner) kubevirt 0.59.0-27 —
Azure Linux 2 (CBL-Mariner) moby-engine 24.0.9-17 —
Azure Linux 2 (CBL-Mariner) nmi No fix yet —
Azure Linux 2 (CBL-Mariner) packer 1.9.5-12 —
Azure Linux 2 (CBL-Mariner) prometheus 2.37.9-4 —
Azure Linux 2 (CBL-Mariner) rook 1.6.2-26 —
Azure Linux 2 (CBL-Mariner) telegraf 1.29.4-15 —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling aactl 0.4.12-r19 —
Wolfi rolling actions-runner-controller +1 0.9.3-r3 —
Wolfi rolling argo-events 1.9.2-r2 —
Wolfi rolling argo-rollouts +1 1.7.2-r1 —
Wolfi rolling argo-workflows 3.5.12-r1 —
Wolfi rolling atlantis 0.30.0-r1 —
Wolfi rolling azcopy 10.27.0-r1 —
Wolfi rolling bank-vaults +1 1.20.4-r20 —
Wolfi rolling boring-registry 0.15.4-r1 —
Wolfi rolling buildctl +1 0.17.0-r1 —
Wolfi rolling chartmuseum 0.16.2-r7 —
Wolfi rolling cosign 2.4.1-r1 —
Wolfi rolling crossplane-crank 1.18.0-r0 —
Wolfi rolling crossplane-provider-azure-sql +9 1.11.2-r0 —
Wolfi rolling docker-dind 27.3.1-r3 —
Wolfi rolling doppler-kubernetes-operator 1.5.1-r5 —
Wolfi rolling falcoctl 0.10.0-r3 —
Wolfi rolling flux-image-reflector-controller +1 0.33.0-r2 —
Wolfi rolling flux-notification-controller +1 1.4.0-r1 —
Wolfi rolling flux-source-controller +1 1.4.1-r2 —
Wolfi rolling flyte 1.13.3-r2 —
Wolfi rolling git-sync +1 4.3.0-r1 —
Wolfi rolling gitea +1 1.22.3-r2 —
Wolfi rolling gitsign +2 0.11.0-r1 —
Wolfi rolling goreleaser 2.4.4-r1 —
Wolfi rolling grafana-alloy 1.4.3-r2 —
Wolfi rolling guac +4 0.11.2-r1 —
Wolfi rolling k3s +2 1.31.2.1-r3 —
Wolfi rolling kaniko +3 1.23.2-r5 —
Wolfi rolling kine 0.13.2-r1 —
Wolfi rolling ko 0.17.1-r1 —
Wolfi rolling kots +2 1.124.8-r0 —
Wolfi rolling kubectl-1.27 +2 No fix yet —
Wolfi rolling kubectl-1.28 +2 1.28.15-r2 —
Wolfi rolling kubectl-1.29 +2 1.29.11-r0 —
Wolfi rolling kubeflow-katib +17 0.17.0-r6 —
Wolfi rolling kubernetes-dashboard-auth +1 1.2.2-r1 —
Wolfi rolling kubescape 3.0.18-r1 —
Wolfi rolling mc +1 0.20241029.153459-r1 —
Wolfi rolling minio +1 0.20241029.160148-r1 —
Wolfi rolling minio-operator +3 6.0.4-r1 —
Wolfi rolling nuclei 3.3.5-r1 —
Wolfi rolling octo-sts +1 0.4.2-r2 —
Wolfi rolling openbao +1 2.0.2-r3 —
Wolfi rolling opentelemetry-collector-contrib +1 0.122.0-r1 —
Wolfi rolling policy-controller +1 0.9.0-r11 —
Wolfi rolling promxy 0.0.91-r1 —
Wolfi rolling pulumi-kubernetes-operator 1.16.0-r2 —
Wolfi rolling rclone +1 1.68.1-r1 —
Wolfi rolling scorecard 5.0.0-r2 —
Wolfi rolling secrets-store-csi-driver-provider-azure 1.6.0-r1 —
Wolfi rolling skaffold 2.13.2-r2 —
Wolfi rolling tdbg +9 1.27.1-r3 —
Wolfi rolling tekton-chains 0.22.2-r1 —
Wolfi rolling temporal +1 1.1.1-r1 —
Wolfi rolling terraform +2 1.5.7-r17 —
Wolfi rolling terraform-provider-azurerm 4.8.0-r1 —
Wolfi rolling tkn 0.38.1-r2 —
Wolfi rolling trivy 0.57.0-r1 —
Wolfi rolling vexctl 0.3.0-r1 —
Wolfi rolling wal-g +1 3.0.7-r7 —
Wolfi rolling weaviate 1.27.1-r2 —
Wolfi rolling zarf 0.42.1-r2 —
Wolfi rolling zot 2.1.1-r5 —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/golang-jwt/jwt/v4 < 4.5.1 4.5.1 GHSA-29wx-vh33-7x7r

Advisories 24

References