Vulnerability · Published Aug 8, 2025 · Assigned by GitHub_M

CVE-2025-54887jwe: Missing AES-GCM authentication tag validation in encrypted JWEs

Critical 9.1

In plain English

A critical-severity security flaw in ruby-jwe from jwt. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 19% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code. Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)9.1Critical
Exploit odds (30 days)0.3%top 81.0% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack tooling1Public PoC

Official description

jwe is a Ruby implementation of the RFC 7516 JSON Web Encryption (JWE) standard. In versions 1.1.0 and below, authentication tags of encrypted JWEs can be brute forced, which may result in loss of confidentiality for those JWEs and provide ways to craft arbitrary JWEs. This puts users at risk because JWEs can be modified to decrypt to an arbitrary value, decrypted by observing parsing differences and the GCM internal GHASH key can be recovered. Users are affected by this vulnerability even if they do not use an AES-GCM encryption algorithm for their JWEs. As the GHASH key may have been leaked, users must rotate the encryption keys after upgrading. This issue is fixed in version 1.1.1.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
RubyGemsjwe1.1.1GHSA-c7p4-hx26-pr73

Affected products (as reported)

VendorProductVersions
jwt ruby-jwe < 1.1.1

Weakness: CWE-354 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

References