Skip to main content

Jose EUVDEUVD-2026-17498

| CVE-2026-34240 HIGH
Improper Verification of Cryptographic Signature (CWE-347)
2026-03-31 GitHub_M GHSA-vm9r-h74p-hg97
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft JWT token with attacker public key in jwk header
  2. Delivery
    Sign token with matching private key
  3. Exploit
    Submit forged token to vulnerable application
  4. Execution
    Application accepts token using untrusted jwk header key
  5. Impact
    Attacker bypasses authentication and authorization

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
Exploitation Conditions

Remote unauthenticated attacker exploiting JOSE library versions prior to 0.3.5+1 when application accepts jwk header parameter for key selection without validating against trusted keystore. No user interaction required.

Impact

This vulnerability presents HIGH real-world risk despite moderate CVSS 7.5 scoring. The CVSS vector (AV:N/AC:L/PR:N/UI:N) confirms network-exploitable attacks with low complexity requiring no authentication or user interaction, though impact is limited to integrity (I:H) rather than confidentiality or availability. The exploitation scenario is straightforward: attackers generate their own RSA/EC key pair, embed the public key in the 'jwk' header, sign malicious claims (e.g., admin privileges, altered user IDs), and the vulnerable library accepts it as valid. No specialized tools are required beyond standard JWT libraries. The authentication bypass impact is severe for applications using this library for access control, session management, or API authorization. While no CISA KEV listing or public exploit code exists, the technical barrier is extremely low-any developer familiar with JWT structure can exploit this. The GitHub commit fix (b07799aac1f56a9a21483feac026272aab30cc5d) confirms vendor acknowledgment and remediation, reducing ongoing risk for patched systems.

Exploit ScenarioDerived

An attacker targeting a Dart-based API uses a JWT manipulation tool to craft a malicious access token. They generate a fresh RSA-2048 key pair, create a JWT payload claiming admin privileges (e.g., {"sub":"attacker","role":"admin"}), embed their public key in the JOSE header as {"alg":"RS256","jwk":{"kty":"RSA","n":"[modulus]","e":"AQAB"}}, and sign with their private key. When submitted to the vulnerable API endpoint, the jose library extracts the attacker's public key from the header and successfully validates the self-signed token, granting unauthorized administrative access. The attack requires no prior authentication, leaves minimal forensic traces in standard logs, and can be automated against multiple applications using the vulnerable library version.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 31, 2026

JWT token forgery in appsup-dart/jose library (versions prior to 0.3.5+1) enables remote attackers to bypass authentication by embedding attacker-controlled public keys in JOSE headers. The library incorrectly accepts header-supplied 'jwk' parameters as trusted verification keys without validating they exist in the application's trusted keystore, allowing unauthenticated attackers to sign arbitrary tokens with their own key pairs. EPSS data not available; no public exploit identified at time of analysis, though exploitation requires only standard JWT manipulation tools.

RemediationAI

Upgrade to appsup-dart/jose version 0.3.5+1 or later, which implements proper key validation to reject header-supplied jwk parameters that do not match trusted keystore entries. The fix is available via the GitHub commit at https://github.com/appsup-dart/jose/commit/b07799aac1f56a9a21483feac026272aab30cc5d. For environments unable to immediately upgrade, implement application-layer validation to reject any JWT tokens containing a 'jwk' parameter in the JOSE header, or verify that any header-supplied jwk cryptographically matches a key already present in your application's trusted key configuration. Review authentication logs for anomalous token validations that may indicate exploitation attempts prior to patching.

Affected VersionsENISA

jose < 0.3.5+1

Affected Packages

euvd jose fix: 0.3.5+1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

JOSE (JavaScript Object Signing and Encryption) libraries implement RFC 7515-7518 standards for JWT token verification. This vulnerability (CWE-347: Improper Verification of Cryptographic Signature) affects the appsup-dart/jose Dart implementation. During JWS/JWT signature verification, the library's key selection logic improperly treats the 'jwk' (JSON Web Key) parameter in the JOSE header as a valid verification candidate. JOSE headers are user-controlled input transmitted with each token, making them untrusted data. The library fails to enforce a critical security boundary: verification keys must come exclusively from the application's pre-configured trusted keystore, never from token headers. This allows algorithmic confusion where the attacker dictates which key verifies their signature, fundamentally breaking the trust model of asymmetric cryptography in authentication systems.

Know when Jose gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Primary rating from Vendor (GitHub_M) · only source for this CVE.

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Lifecycle Timeline

3
Analysis Updated
Apr 16, 2026 - 06:10 EUVD-patch-fix
executive summary
Patch available
Apr 16, 2026 - 05:29 EUVD
0.3.5+1
CVE Published
Mar 31, 2026 - 15:44 nvd
HIGH 7.5

DescriptionCVE.org

JOSE is a Javascript Object Signing and Encryption (JOSE) library. Prior to version 0.3.5+1, a vulnerability in jose could allow an unauthenticated, remote attacker to forge valid JWS/JWT tokens by using a key embedded in the JOSE header (jwk). The vulnerability exists because key selection could treat header-provided jwk as a verification candidate even when that key was not present in the trusted key store. Since JOSE headers are untrusted input, an attacker could exploit this by creating a token payload, embedding an attacker-controlled public key in the header, and signing with the matching private key. Applications using affected versions for token verification are impacted. This issue has been patched in version 0.3.5+1. A workaround for this issue involves rejecting tokens where header jwk is present unless that jwk matches a key already present in the application's trusted key store.

Executive ViewAI

Why It Matters

The appsup-dart/jose library (versions before 0.3.5+1) contains a JWT token forgery vulnerability that allows unauthenticated attackers to bypass authentication by injecting malicious public keys into token headers. Any application using this library to validate JWT tokens is at risk of complete authentication bypass, potentially exposing all API endpoints and protected resources to unauthorized access.

Business Impact: High
Compensating Controls

Apply vendor patch: upgrade to appsup-dart/jose version 0.3.5+1 or later. Interim mitigations pending patch deployment: implement additional validation to reject JOSE headers containing embedded 'jwk' parameters and enforce token validation exclusively against a hardened, application-managed trusted keystore rather than accepting key material from token headers.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Jose

View all
CVE-2022-36083 MEDIUM POC
5.3 Sep 07

JOSE is "JSON Web Almost Everything" - JWA, JWS, JWE, JWT, JWK, JWKS with no dependencies using runtime's native crypto

CVE-2026-89086 CRITICAL
9.1 Sep 10

Signature verification bypass in the OCaml jose library (ulrikstrid/ocaml-jose) before 0.11.0 lets attackers forge valid

CVE-2026-65629 HIGH
7.4 Oct 26

Password-protected private-key exports produced by the Erlang/Elixir `jose` library between 1.10.0 and 1.11.12 are encry

CVE-2026-65627 MEDIUM
6.9 Oct 26

Memory-exhaustion denial of service in the erlang-jose JOSE/JWE library for Erlang and Elixir (versions 1.0.0 through 1.

CVE-2026-65631 MEDIUM
6.9 Oct 26

CPU-exhaustion denial of service in the erlang-jose library (versions 1.7.7 through 1.11.12) lets remote attackers who c

CVE-2021-29443 MEDIUM
5.9 Apr 16

jose is an npm library providing a number of cryptographic operations. Rated medium severity (CVSS 5.9), this vulnerabil

CVE-2026-65630 MEDIUM
5.9 Oct 26

Recovery of a long-term X25519 private key is possible in erlang-jose 1.10.0 through 1.11.12 whenever the pure-Erlang Cu

CVE-2026-65628 MEDIUM
5.9 Oct 26

The Erlang/Elixir JOSE library (potatosalad/erlang-jose) can be driven into an unbounded tail-recursive loop through JOS

CVE-2026-65625 MEDIUM
5.9 Oct 26

Authentication-tag forgery in the Erlang JOSE library (jose 1.2.0 through 1.11.12) lets an unauthenticated remote attack

CVE-2026-65626 MEDIUM
5.9 Oct 26

Bleichenbacher padding-oracle weakness in erlang-jose's pure-Erlang RSAES-PKCS1-v1_5 decryption (jose 1.3.0 through befo

CVE-2024-28176 MEDIUM
5.9 Mar 09

jose is JavaScript module for JSON Object Signing and Encryption, providing support for JSON Web Tokens (JWT), JSON Web

CVE-2026-65632 MEDIUM
5.1 Oct 26

ECDSA JWS signature malleability in erlang-jose (potatosalad:jose) 1.0.0 through 1.11.12 lets anyone holding a single le

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy