Skip to main content

MaxKey CVE-2026-67345

| EUVDEUVD-2026-51148 HIGH
Permissive List of Allowed Inputs (CWE-183)
2026-07-30 VulnCheck GHSA-7957-wqgw-m3j9
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Recon
    Register domain suffix-matching a registered redirect host
  2. Delivery
    Craft malicious OAuth authorization URL
  3. Exploit
    Phish victim into clicking link
  4. Install
    MaxKey validates redirect via endsWith()
  5. C2
    Authorization code issued to attacker host
  6. Execute
    Exchange code for access token
  7. Impact
    Impersonate victim identity

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Strict input allowlisting
Exploitation Conditions

Requires that MaxKey is used as an OAuth 2.0 authorization-code (or implicit) provider with subdomain matching effectively enabled - DefaultRedirectResolver.matchSubdomains defaults to true, so this is the default behavior - and that at least one OAuth client is registered with a redirect URI whose hostname the attacker can suffix-match by registering/controlling a domain ending in that registered hostname (e.g. registered 'example.com' abused via 'attacker-example.com'). Exploitation is limited by UI:A: a victim with an active MaxKey session must be social-engineered into clicking the attacker's crafted authorization URL; no attacker authentication is needed (PR:N), but success depends on that user interaction and on a registered client whose redirect host is suffix-collidable.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:N, base 8.5 High) indicates a network-reachable, low-complexity, unauthenticated attack with high confidentiality and integrity impact, but it explicitly requires active user interaction (UI:A) - the victim must click a crafted authorization URL. That user-interaction requirement is the main brake on real-world risk: this is a social-engineering-dependent account-takeover primitive, not a wormable server-side RCE. Publicly available exploit code raises practical risk, but there is no CISA KEV listing and no EPSS score was provided, so there is no evidence of active or widespread exploitation at this time - treat exploit availability and active exploitation as distinct signals. Net: a patch-now issue for any internet-facing MaxKey deployment used as an SSO broker (a successful attack yields full identity/session takeover), tempered by the product's relatively niche footprint and the phishing prerequisite.

Exploit ScenarioDerived

An attacker registers a domain whose hostname ends with a victim tenant's registered redirect URI host (e.g. controlling 'goodexample.com' to abuse a registered 'example.com'), then crafts an OAuth authorization URL pointing MaxKey to that attacker-controlled redirect_uri and phishes a logged-in victim into clicking it. Because DefaultRedirectResolver accepts the suffix match, MaxKey issues the authorization code to the attacker's host, which exchanges it for an access token to impersonate the victim. Publicly available exploit code lowers the bar to reproduce this.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 PoC candidate (unverified) Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 30, 2026

OAuth 2.0 authorization-code theft in Dromara MaxKey through 4.1.12 lets remote attackers hijack a victim's authorization code and exchange it for an access token, taking over the victim's federated identity. The flaw lives in DefaultRedirectResolver.hostMatches(), where a naive endsWith() suffix comparison lets an attacker-controlled domain that ends with a registered redirect URI hostname pass validation. Publicly available exploit code exists and a vendor patch (commit ddbb72f) is available; no active exploitation has been confirmed (not in CISA KEV).

RemediationAI

Upstream fix available (commit ddbb72f); a released, tagged patched version is not independently confirmed from the provided data, so upgrade MaxKey to a build that includes commit ddbb72fb24ab8e66aa422fb14b1177330bcffb45 (or apply that patch, which removes the permissive matchSubdomains/endsWith suffix matching and drops the implicit grant type). If you cannot upgrade immediately, the most effective compensating control is to register only exact, fully-qualified redirect URIs and avoid wildcard/subdomain matching, and - if configurable in your build - set matchSubdomains to false to disable suffix matching (side effect: legitimate clients relying on subdomain redirect matching will break and must be re-registered with explicit URIs). Additionally disable the implicit grant type if unused and restrict/monitor the authorization endpoint. Track details via the fix commit, the VulnCheck advisory (https://www.vulncheck.com/advisories/maxkey-defaultredirectresolver-oauth-authorization-code-theft), and GitHub issue #269.

Affected VersionsENISA

MaxKey 0 ≤4.1.12

Affected Packages

euvd maxkey no fix

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

MaxKey is an open-source enterprise Identity and Access Management (IAM)/single-sign-on server that implements OAuth 2.0 and OpenID Connect. The affected component is the OAuth authorization-code endpoint's redirect_uri validation in the maxkey-protocol-oauth-2.0 module's DefaultRedirectResolver. Per CWE-183 (Permissive List of Allowed Inputs), the root cause is that subdomain matching relied on Java String.endsWith(registered) with matchSubdomains defaulting to true, so a requested hostname was accepted whenever it merely ended with the registered hostname string, without anchoring on a dot ('.') boundary. This means 'attackerexample.com' satisfies a registered 'example.com', letting an unregistered attacker host masquerade as an approved redirect target. The patch (commit ddbb72fb24ab8e66aa422fb14b1177330bcffb45) removes the matchSubdomains flag and its endsWith() suffix branch entirely and drops 'implicit' from the accepted grant types. The affected package is identified by CPE cpe:2.3:a:dromara:maxkey.

Know when Maxkey 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 (VulnCheck) PRIMARY 8.5 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 9.3 CRITICAL

Unauthenticated network attack (PR:N/AV:N) but needs a victim click (UI:R); the stolen token grants identity takeover on downstream resources (S:C, C:H/I:H) with no availability impact.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

MaxKey through 4.1.12, fixed in commit ddbb72f, contains an insufficient redirect URI validation vulnerability in DefaultRedirectResolver.hostMatches() that allows remote attackers to hijack OAuth 2.0 authorization codes by supplying a crafted redirect_uri whose hostname suffix matches a registered URI without proper dot-boundary anchoring. Attackers who control a domain ending with the registered redirect URI hostname can social-engineer victims into clicking a crafted authorization URL, causing the authorization code to be issued to the attacker-controlled URI and exchanged for an access token granting access to the victim's identity.

Latest POC

1 PoC candidate from github (unverified)

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

Dromara MaxKey versions through 4.1.12 contain an OAuth 2.0 authorization-code theft vulnerability that allows remote attackers to hijack federated user identities without requiring credentials, with publicly available exploit code creating immediate risk for any organization using MaxKey for single sign-on. Attackers can steal authorization codes via a hostname suffix-matching bypass in the redirect URI validator, then exchange those codes for access tokens and take over user accounts across all federated applications. This directly threatens access control integrity and creates material risk of unauthorized system access and data exfiltration.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Low
niche open-source IAM/SSO server, limited enterprise footprint
Data Quality
7 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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
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
No
Human Impact
High
Technical Impact
Total

Priority Score

62
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +42
PoC: +20
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