CVE-2025-27144

Go JOSE's Parsing Vulnerable to Denial of Service

Published Feb 24, 2025 CVSS 4.0 · 6.6 Medium EPSS < 1% KEV · Not listed
Description
Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of standards in Go, including support for JSON Web Encryption (JWE), JSON Web Signature (JWS), and JSON Web Token (JWT) standards. In versions on the 4.x branch prior to version 4.0.5, when parsing compact JWS or JWE input, Go JOSE could use excessive memory. The code used strings.Split(token, ".") to split JWT tokens, which is vulnerable to excessive memory consumption when processing maliciously crafted tokens with a large number of `.` characters. An attacker could exploit this by sending numerous malformed tokens, leading to memory exhaustion and a Denial of Service. Version 4.0.5 fixes this issue. As a workaround, applications could pre-validate that payloads passed to Go JOSE do not contain an excessive number of `.` characters.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2025-4268 Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of standards in Go, including support for JSON Web Encryption (JWE), JSON Web Signature (JWS), and JSON Web Token (JWT) standards. In versions on the 4.x branch prior to version 4.0.5, when parsing compact JWS or JWE input, Go JOSE could use excessive memory. The code used strings.Split(token, ".") to split JWT tokens, which is vulnerable to excessive memory consumption when processing maliciously crafted tokens with a large number of `.` characters. An attacker could exploit this by sending numerous malformed tokens, leading to memory exhaustion and a Denial of Service. Version 4.0.5 fixes this issue. As a workaround, applications could pre-validate that payloads passed to Go JOSE do not contain an excessive number of `.` characters.
Github GHSA Github GHSA GHSA-c6gw-w398-hv78 DoS in go-jose Parsing
History
Type Values Removed Values Added
CPEs cpe:/a:redhat:openshift:4.19::el9
Type Values Removed Values Added
CPEs cpe:/a:redhat:openshift_distributed_tracing:3.6::el8
Type Values Removed Values Added
CPEs cpe:/a:redhat:openshift_data_foundation:4.17::el9
Type Values Removed Values Added
First Time appeared Redhat openshift Gitops
CPEs cpe:/a:redhat:openshift_gitops:1.15::el8
Vendors & Products Redhat openshift Gitops
Type Values Removed Values Added
CPEs cpe:/o:redhat:enterprise_linux:10.0
Type Values Removed Values Added
First Time appeared Redhat openshift Data Foundation
CPEs cpe:/a:redhat:openshift_data_foundation:4.18::el9
Vendors & Products Redhat openshift Data Foundation
Type Values Removed Values Added
CPEs cpe:/a:redhat:logging:5.9::el9
Type Values Removed Values Added
First Time appeared Redhat trusted Artifact Signer
CPEs cpe:/a:redhat:trusted_artifact_signer:1.1::el9
Vendors & Products Redhat trusted Artifact Signer
Type Values Removed Values Added
First Time appeared Redhat openshift Distributed Tracing
CPEs cpe:/a:redhat:openshift_distributed_tracing:3.5::el8
Vendors & Products Redhat openshift Distributed Tracing
Type Values Removed Values Added
First Time appeared Redhat rhel Eus
CPEs cpe:/a:redhat:openshift:4.16::el9
cpe:/a:redhat:rhel_eus:9.4
Vendors & Products Redhat rhel Eus
Type Values Removed Values Added
First Time appeared Redhat openshift Custom Metrics Autoscaler
CPEs cpe:/a:redhat:openshift_custom_metrics_autoscaler:2.15::el9
Vendors & Products Redhat openshift Custom Metrics Autoscaler
Type Values Removed Values Added
First Time appeared Redhat advanced Cluster Security
CPEs cpe:/a:redhat:advanced_cluster_security:4.6::el8
cpe:/a:redhat:advanced_cluster_security:4.7::el8
Vendors & Products Redhat advanced Cluster Security
Type Values Removed Values Added
First Time appeared Redhat enterprise Linux
CPEs cpe:/a:redhat:enterprise_linux:9
Vendors & Products Redhat enterprise Linux
Type Values Removed Values Added
First Time appeared Redhat logging
CPEs cpe:/a:redhat:logging:6.0::el9
cpe:/a:redhat:logging:6.1::el9
cpe:/a:redhat:openshift:4.17::el8
cpe:/a:redhat:openshift:4.17::el9
Vendors & Products Redhat logging
Type Values Removed Values Added
First Time appeared Redhat
Redhat openshift
CPEs cpe:/a:redhat:openshift:4.18::el9
Vendors & Products Redhat
Redhat openshift
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate

Type Values Removed Values Added
Description Go JOSE provides an implementation of the Javascript Object Signing and Encryption set of standards in Go, including support for JSON Web Encryption (JWE), JSON Web Signature (JWS), and JSON Web Token (JWT) standards. In versions on the 4.x branch prior to version 4.0.5, when parsing compact JWS or JWE input, Go JOSE could use excessive memory. The code used strings.Split(token, ".") to split JWT tokens, which is vulnerable to excessive memory consumption when processing maliciously crafted tokens with a large number of `.` characters. An attacker could exploit this by sending numerous malformed tokens, leading to memory exhaustion and a Denial of Service. Version 4.0.5 fixes this issue. As a workaround, applications could pre-validate that payloads passed to Go JOSE do not contain an excessive number of `.` characters.
Title Go JOSE's Parsing Vulnerable to Denial of Service
Weaknesses CWE-770
References
Metrics cvssV4_0

{'score': 6.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U'}