---
title: "CVE-2025-54887: JWE is missing AES-GCM authentication tag validation in encrypted JWE"
url: https://erroneo.us/security/cve/CVE-2025-54887/
description: "CVE-2025-54887 (jwe (RubyGems)): jwe is a Ruby implementation of the RFC 7516 JSON Web Encryption (JWE) standard. In versions 1.1.0 and below…"
type: vulnerability-record
section: "Security Digest"
date_published: 2025-08-08
date_modified: 2025-08-08
publisher: erroneo.us
author: erroneo.us Security Desk
cve: "CVE-2025-54887"
kev: false
cvss: 9.1
epss: 0.00253
license: All rights reserved. Quote with attribution and a link.
---

# CVE-2025-54887: JWE is missing AES-GCM authentication tag validation in encrypted JWE

**Signal:** Critical and remotely reachable. No known exploitation yet, but it is network-reachable without credentials. (Computed from CISA KEV, EPSS and CVSS; not an editorial verdict.)

## Should you act?

- No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
- EPSS 0.3% , percentile 16: FIRST’s model estimates a 0.3% chance of exploitation activity in the next 30 days, higher than 16% of all scored CVEs (low). EPSS is a probability, not a verdict.
- Remotely reachable with no login and no user interaction. If the vulnerable service is exposed to the internet, prioritize it.
- Only applies if your dependency tree includes jwe (RubyGems) <= 1.1.0, fixed in 1.1.1 . Check your lockfile, including transitive dependencies.

## What it is

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

- RubyGems `jwe` <= 1.1.0 → fixed: 1.1.1

## Affected products (CVE record)

- jwt ruby-jwe: < 1.1.1

## Severity

- GitHub_M CVSS 3.1: 9.1 `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N`
- GitHub CVSS 3.1: 9.1 `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N`

## Exploitation

- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation none , automatable yes , technical impact total .
- FIRST EPSS (model of 2026-10-21): 0.25% probability of exploitation activity in the next 30 days; percentile 16.

## Sources

- [GitHub Advisory GHSA-c7p4-hx26-pr73](https://github.com/advisories/GHSA-c7p4-hx26-pr73)
- [CVE.org record CVE-2025-54887](https://www.cve.org/CVERecord?id=CVE-2025-54887)
- [NVD entry CVE-2025-54887](https://nvd.nist.gov/vuln/detail/CVE-2025-54887)
- [github.com](https://github.com/jwt/ruby-jwe/security/advisories/GHSA-c7p4-hx26-pr73)
- [github.com](https://github.com/jwt/ruby-jwe/commit/1e719d79ba3d7aadaa39a2f08c25df077a0f9ff1)
- [github.com](https://github.com/rubysec/ruby-advisory-db/blob/master/gems/jwe/CVE-2025-54887.yml)

---
Source page: https://erroneo.us/security/cve/CVE-2025-54887/ · Security Digest: https://erroneo.us/security/ · More: https://erroneo.us/llms.txt
