Skip to main content

Janssen Auth Server CVE-2026-45795

| EUVDEUVD-2026-44969 MEDIUM
Improper Verification of Cryptographic Signature (CWE-347)
2026-07-16 GitHub_M
5.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Retrieve server RSA public key from JWKS endpoint
  2. Delivery
    Craft JWE containing plain JSON authorization payload using RSA-OAEP
  3. Exploit
    Submit JWE as 'request' parameter to /authorize endpoint
  4. Execution
    Server decrypts JWE, skips nested signature validation
  5. Impact
    Injected unsigned authorization parameters accepted as trusted

Vulnerability Assessment

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

Exploitation requires two conditions to be simultaneously true: the target Janssen deployment must accept JWE-wrapped JAR request objects at its OIDC authorization endpoint (this is a protocol feature, not the default for all deployments - verify whether the server is configured to accept the 'request' or 'request_uri' parameter with JWE content), and the attacker must be able to construct a syntactically valid JWE token encrypted to the server's RSA public key (typically obtainable from the server's JWKS endpoint at no privilege). The forceSignedRequestObject=true bypass specifically affects deployments that believe this flag enforces signed request object integrity. Limiting factors include: the attacker cannot trivially forge JWE without the server's public key (though public JWKS endpoints eliminate this barrier), JWE request object support may not be enabled by default, and the practical impact is confined to manipulation of authorization request parameters - not direct credential theft or full authentication bypass. The CVSS PR:N is consistent with the authorization endpoint being publicly accessible.

Impact

The CVSS 3.1 base score of 5.3 (Medium) with vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N captures a network-reachable, unauthenticated, zero-complexity attack surface - a combination that is concerning for an IAM platform where authorization integrity is foundational. However, the integrity impact is rated Low, and there is no confidentiality or availability impact, reflecting the bounded consequence of parameter manipulation rather than authentication bypass. No EPSS data was provided, so probabilistic exploitation likelihood cannot be quantified from this dataset. The vulnerability is not in CISA KEV, and no public proof-of-concept exploit code has been identified, suggesting it has not seen mass exploitation. Real-world risk is further constrained by deployment conditions: the attacker must be able to construct a JWE encrypted to the server's public key (the JWKS endpoint typically makes this feasible), and the deployment must accept JAR-style JWE request objects (not universally enabled). Organizations with forceSignedRequestObject=true who believed they had a stronger security posture are the primary risk group, as that configuration was specifically bypassable. Overall this is a genuine but targeted-risk finding rather than a mass-exploitation priority.

Exploit ScenarioDerived

An unauthenticated attacker retrieves the Janssen server's RSA public key from its JWKS endpoint, encrypts a crafted plain JSON authorization request payload using RSA-OAEP into a valid JWE token, and submits it to the /authorize endpoint as a request object parameter. The server decrypts the JWE, finds no nested signed JWT but proceeds due to the null-check gap, and processes the attacker-supplied authorization parameters without signature verification - enabling manipulation of claims such as redirect_uri, scope, or client_id. No public proof-of-concept code has been identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 16, 2026

Signature bypass in Janssen jans-auth-server's OIDC authorization request object processing allows unauthenticated remote attackers to submit JWE-wrapped authorization requests containing unsigned plain JSON payloads, circumventing the integrity guarantee that JAR (RFC 9101) is designed to enforce. Two distinct code defects enable the bypass: the server silently skips nested JWS validation when getSignedJWTPayload() returns null, and the forceSignedRequestObject enforcement fails to reject null-mapped algorithm identifiers such as RSA-OAEP (an encryption algorithm, not a signature algorithm). No public exploit code has been identified and the vulnerability is not listed in CISA KEV; it is fixed in version 2.0.0.

RemediationAI

Upgrade jans-auth-server to version 2.0.0 or later, which is confirmed as the fix release at https://github.com/JanssenProject/jans/releases/tag/v2.0.0 and implements proper nested JWS validation for JWE request objects alongside corrected forceSignedRequestObject enforcement. The upstream fix is in PR #13438 (https://github.com/JanssenProject/jans/pull/13438) and commit 0cdd214870ee30eb2186261f21c85b9e9fc63b5c. If immediate upgrade is not feasible, consider disabling JWE-wrapped JAR request object support at the server or network boundary if the application does not require it - this eliminates the vulnerable code path entirely but will break any clients relying on encrypted request objects. Additionally, if forceSignedRequestObject=true is a compliance requirement, treating it as a control until patched may create a false sense of security; network-layer restrictions on the /authorize endpoint to known client IPs can reduce exposure. Each compensating control trades interoperability against attack surface.

Affected VersionsENISA

jans < 2.0.0

Affected Packages

euvd jans fix: 2.0.0

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

jans-auth-server implements OpenID Connect JWT-Secured Authorization Requests (JAR, RFC 9101), which requires authorization request objects to be signed JWTs. JWE (JSON Web Encryption) is legitimately used to wrap a signed JWT (JWS) as a nested token, providing both encryption and integrity. The first defect is in JwtAuthorizationRequest: when a JWE payload does not contain a nested signed JWT, getSignedJWTPayload() returns null and the code path that calls validateSignature() is skipped entirely, accepting the plain JSON payload as if it were validated. The second defect is in AuthzRequestService.processRequestObject(): when forceSignedRequestObject=true, the enforcement check calls SignatureAlgorithm.fromString('RSA-OAEP') which returns null (because RSA-OAEP is a key-encryption algorithm, not a signature algorithm), and the original code only rejected SignatureAlgorithm.NONE - not null - allowing the check to pass silently. CWE-347 (Improper Verification of Cryptographic Signature) is the root cause class. The fix in PR #13438 adds explicit isJws/isJwe type tracking, throws InvalidJwtException when no nested JWS is present in a JWE, and extends the forceSignedRequestObject check to reject both NONE and null algorithm values. The affected product is identified by CPE cpe:2.3:a:janssenproject:jans:*:*:*:*:*:*:*:* for all versions prior to 2.0.0.

Know when Jans 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 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 5.3 MEDIUM

OIDC /authorize endpoint is publicly reachable (AV:N, PR:N); server JWKS is public making JWE construction low complexity (AC:L); impact is limited to authorization parameter integrity manipulation with no confidentiality or availability effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/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
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Jul 16, 2026 - 18:18 EUVD

DescriptionCVE.org

The Janssen Project is an open-source identity and access management (IAM) platform. Prior to 2.0.0, jans-auth-server accepts unsigned JWE request objects because JwtAuthorizationRequest skips inner signature validation when jwe.getSignedJWTPayload() returns null, and AuthzRequestService.processRequestObject() does not reject the unrecognized RSA-OAEP algorithm when forceSignedRequestObject=true. This issue is fixed in version 2.0.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
open-source IAM platform with limited enterprise production footprint
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
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.

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