Skip to main content

joserfc CVE-2026-62995

| EUVDEUVD-2026-50450 LOW
Insufficient Verification of Data Authenticity (CWE-345)
2026-07-29 GitHub_M
2.3
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Obtain valid JWT from application
  2. Delivery
    Append trailing == padding to Base64url token segments
  3. Exploit
    Submit modified token in authentication header
  4. Execution
    Library validates signature successfully
  5. Persist
    Deny-list hash lookup misses padded variant
  6. Impact
    Revoked session access granted

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
Exploitation Conditions

Exploitation requires two conditions to be simultaneously true: (1) the application must implement deny-list-based token revocation or anti-replay protection that compares raw JWT strings or their cryptographic hashes, and (2) the attacker must already possess a valid or formerly valid JWT issued to them. Applications performing only stateless JWT signature verification without a deny list are not vulnerable to this bypass. The vulnerability does not apply to ECDSA-signed JWTs in the sense that those are already malleable for independent reasons unrelated to padding; the padding malleability is most impactful for HMAC (HS256/HS384/HS512) or RSA (RS256, PS256, etc.) signed tokens where developers reasonably assume canonical, non-malleable token representation. The non-default architectural choice of a deny list is the primary limiting factor that scopes the real-world risk.

Impact

The CVSS 4.0 score of 2.3 (AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N) accurately reflects a narrow, conditional impact. The AT:P metric is the critical signal: specific attack requirements must be present - the application must implement deny-list-based token revocation or anti-replay protection using raw JWT strings or their hashes. Without this architectural pattern, the malleability is inconsequential. PR:L confirms that an attacker must already hold a valid (or formerly valid) JWT, limiting the threat to insider or post-authentication scenarios. No EPSS score was supplied for this CVE, and it is not listed in CISA KEV; no public exploit code has been identified at time of analysis. The overall real-world risk is low for most deployments and low-to-moderate only for the specific subset of applications that combine joserfc with a token-hash deny list for revocation or replay prevention. The vendor advisory itself acknowledges this conditionality explicitly.

Exploit ScenarioDerived

An attacker whose JWT has been added to an application's token revocation deny list (for example, after an admin-initiated logout or session invalidation) resubmits the same token with trailing == padding appended to one or more Base64url-encoded segments. The server passes library-level signature validation, computes a hash of the padded token string, finds no matching entry in the deny list, and grants continued access despite revocation. No public exploit code exists, but the technique requires only basic knowledge of Base64 encoding and is trivially reproducible by any holder of a valid JWT.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 29, 2026

JWT malleability in joserfc versions 1.7.1 and prior allows a low-privileged user holding a valid token to craft alternate byte-distinct representations by exploiting the library's acceptance of non-conforming trailing Base64 padding (==), which violates the JOSE specification. Applications using deny-list-based token revocation or anti-replay protection are at risk of bypass, since a padding-modified token hashes to a different value that will not match the stored revoked-token record. No public exploit code has been identified and this vulnerability is not listed in CISA KEV; the vendor-released fix is joserfc 1.7.2.

RemediationAI

Upgrade joserfc to version 1.7.2, which resolves this issue by rejecting JWTs containing non-conforming trailing Base64 padding, as confirmed by the vendor advisory at https://github.com/authlib/joserfc/security/advisories/GHSA-5jhw-7jv7-qcqq. For deployments unable to upgrade immediately, a compensating control is to normalize JWT strings before computing deny-list lookups: strip any trailing = padding characters from all Base64url-encoded segments before hashing or comparing tokens against the revocation store. This control must be applied consistently at every JWT comparison point in the application - a single unguarded code path is sufficient to reintroduce the bypass. Note that this workaround does not address the inherent ECDSA malleability cited in the advisory; applications relying on ECDSA-signed token non-malleability require architectural changes beyond this fix.

Affected VersionsENISA

joserfc < 1.7.2

Affected Packages

euvd joserfc fix: 1.7.2

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

joserfc (CPE: cpe:2.3:a:authlib:joserfc:*:*:*:*:*:*:*:*) is a Python library implementing JOSE standards - JWS, JWT, JWE, and related specifications - published under the authlib organization on PyPI. The JOSE/JWT specification (RFC 7515, RFC 7519) mandates that Base64url-encoded values MUST omit padding characters (=). By accepting JWTs that include trailing == padding, joserfc violates this canonicalization requirement, producing token malleability: the same logical credential can be encoded in multiple byte-distinct forms, all of which the library considers valid. CWE-345 (Insufficient Verification of Data Authenticity) classifies the root cause - the library does not enforce the canonical encoding form required by the standard before verifying or consuming the token. The advisory further notes that ECDSA-signed JWTs are inherently malleable due to the nature of ECDSA signatures regardless of this bug; the padding malleability is most dangerous for HMAC- and RSA-signed tokens, where non-malleability is otherwise a reasonable security assumption that applications may legitimately rely upon.

Know when Joserfc 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 2.3 LOW
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.1 LOW

AC:H captures the non-default deny-list architecture required; PR:L reflects that a valid token must already be held; only integrity bypass applies with no confidentiality or availability impact.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Jul 29, 2026 - 19:02 EUVD

DescriptionCVE.org

joserfc is a Python library that provides an implementation of several JSON Object Signing and Encryption (JOSE) standards. in versions 1.7.1 and prior, joserfc accepts JWTs with trailing padding (==) which are not conforming to the JOSE specifications. This leads to malleability of the JWTs when consumed by joserfc. Depending on this application this might or not be an issue. This could lead to bypass of token revocation or anti-replay protection when implemented as a deny list of tokens or a deny list of token hashes. Note that ECDSA JWS are always malleable because of the malleability of ECDSA signatures (first test case in the code bellow). This makes a scheme which assumes that JWTs are not malleable brittle. However for other signatures (or MAC) schemes it might make sense to assume non malleability of the token. This issue has been fixed in version 1.7.2.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Low
niche Python JOSE library, limited enterprise deployment footprint
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment 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 LOW
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Low
Technical Impact
Total

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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