Skip to main content

smart-sso EUVDEUVD-2026-103044

| CVE-2026-111622 HIGH
URL Redirection to Untrusted Site (Open Redirect) (CWE-601)
2026-10-16 VulnCheck GHSA-7rfc-8j8f-xgwj
7.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft /login link with malicious redirectUri
  2. Delivery
    Send link to user with active SSO session
  3. Exploit
    Victim click leaks OAuth2 authorization code
  4. Execution
    Redeem code at /oauth2/access_token with valid client credentials
  5. Impact
    Obtain victim's access token

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Redirect URL validation
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires: (1) a target smart-sso server at or below version 2.1.1 whose /login handler accepts an unvalidated redirectUri parameter; (2) a victim who already holds an ACTIVE authenticated SSO session; (3) that victim being induced to open an attacker-crafted /login link (passive user interaction); and (4) the attacker possessing ANY set of valid OAuth2 client credentials to redeem the leaked authorization code at /oauth2/access_token. These are the concrete limiting factors reflected by AC:H, AT:P, and UI:P - the attack fails against users with no active session, if the victim never clicks the link, or if the attacker lacks valid client credentials; no attacker authentication to the SSO server itself is needed (PR:N).

Impact

This is a genuine but conditional risk rather than a drop-everything emergency. The CVSS 4.0 base score of 7.6 (HIGH) is driven by network attack vector (AV:N), no privileges required (PR:N), and high confidentiality and integrity impact (VC:H/VI:H) reflecting theft of victims' OAuth2 access tokens. However, the same vector embeds significant friction: AC:H (high attack complexity), AT:P (a specific attack requirement), and UI:P (passive user interaction) - meaning successful exploitation depends on a victim who already holds an active SSO session being lured into clicking a crafted /login link, plus the attacker possessing valid client credentials to redeem the stolen code. There is NO CISA KEV listing and NO EPSS score provided in the input, so there is no evidence of active or widespread exploitation; a detailed technical write-up (hackmd) and annotated source references exist, documenting the technique, but no packaged weaponized exploit is confirmed. Signals are internally consistent: the HIGH CVSS is tempered by its own complexity/interaction metrics, and the absence of KEV/EPSS data supports treating this as a real, patch-worthy flaw in affected smart-sso deployments rather than a mass-exploited threat. Key missing data: no EPSS probability and no explicit POC flag were supplied, so exploitation likelihood cannot be quantified from the input alone.

Exploit ScenarioDerived

An attacker crafts a /login URL for a vulnerable smart-sso server containing an attacker-controlled redirectUri and sends it (via phishing/email/chat) to a user who already has an active SSO session. When the victim opens the link, the server issues and redirects the OAuth2 authorization code to the attacker's endpoint; the attacker then redeems that code at /oauth2/access_token using any valid client credentials to obtain the victim's access token. A detailed public technical write-up describes the full flow, but no confirmed packaged exploit code was indicated in the input.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Unauthenticated remote attackers can steal OAuth2 authorization codes from smart-sso deployments running version 2.1.1 or earlier by abusing an unvalidated redirectUri parameter in the /login handler (CWE-601). A victim who already holds an active SSO session must be induced into opening a crafted /login link, after which the attacker - who must additionally hold any valid OAuth2 client credentials - redeems the leaked code at /oauth2/access_token to obtain the victim's access token, giving both high confidentiality and integrity impact (CVSS 7.6 v4.0: AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N; independent assessment CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N). Exploitation is conditional rather than trivial: it fails if the victim has no active session, does not click the link, or if the attacker lacks valid client credentials, though no authentication to the SSO server itself is required (PR:N). No public exploit identified at time of analysis, although a public technical writeup describing the authorization-code leak path has been published; this is a genuine but conditional risk rather than a drop-everything emergency.

RemediationAI

No vendor-released patch identified at time of analysis, so remediation must be driven by compensating controls, ideally combined with an upstream code fix or upgrade once one is published. The most effective and standards-aligned mitigation is to enforce exact-match redirect URI allowlisting in the /login handler: before issuing an authorization code, compare the supplied redirectUri against the redirect URI(s) registered for the requesting client_id and reject any mismatch, wildcard, subdomain-tolerance, or path-traversal variant - this closes the CWE-601 gap directly but requires every OAuth2 client to have correctly registered absolute redirect URIs (clients using dynamic or open-ended redirect values will break). Pair this with strict verification at code redemption so /oauth2/access_token only accepts a code when the same client_id and identical redirect_uri used at authorization are presented; this blocks the post-leak redemption path but requires coordinated client reconfiguration. Additional containment: enable and require PKCE (S256) for all public and confidential clients so a stolen code alone is insufficient without the code_verifier (legacy clients that cannot send code_challenge may fail authorization), shorten authorization-code lifetimes to well under a minute, and bind codes to the issuing client and user session. Because redemption requires the attacker to hold valid OAuth2 client credentials, reduce that exposure by auditing and rotating client secrets, removing unused or overly permissive client registrations, restricting client credentials to specific source networks, and alerting on token-endpoint calls that use an unexpected client_id, a redirect_uri differing from the authorization request, or an IP/ASN inconsistent with the legitimate client. Finally, add monitoring and rate limiting on /login and /oauth2/access_token for anomalous redirectUri values or bursty code redemptions, and review the published technical writeup (https://hackmd.io/@hieuPenguinnn/smart-sso-oauth2-code-leak-open-redirect) alongside the referenced controller source to confirm whether your fork carries the same lines before relying on any single control.

Affected VersionsENISA

Smart-SSO 0 ≤2.1.1

Affected Packages

euvd smart_sso 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

smart-sso is a Java/Spring Boot single sign-on server (the analyzed code lives under smart-sso-server) that implements an OAuth2/OIDC-style authorization-code flow with a /login entry point and a /oauth2/access_token token endpoint. The flaw is CWE-601 (URL Redirection to Untrusted Site, 'Open Redirect'): in the /login handler the redirectUri parameter is passed through without validation against the set of redirect URIs registered for the requesting client. In a correct OAuth2 implementation, RFC 6749 §3.1.2.3 and §4.1.3 require the authorization server to compare the redirect_uri presented at /login against the client's pre-registered value and to require the same value at token exchange; without that check, the authorization code is delivered to an attacker-controlled destination. The referenced source makes the root cause concrete: LoginController.java at lines 53-63 in the 2.1.1 tree (package com.smart.sso.server.controller) and lines 50-59 in the 1.6.0 tree (legacy package openjoe.smart.sso.server.controller), together with Oauth2Controller.java lines 55-84 in 1.6.0, which handles code redemption at /oauth2/access_token. Because the token endpoint accepts the stolen code when presented by any party holding valid client credentials, the redirect weakness becomes a full authorization-code interception primitive. The supplied CPE (cpe:2.3:a:a466350665:smart-sso:*:*:*:*:*:*:*:*) uses a wildcard version with no upper bound, so version scoping should be taken from the advisory and source evidence - affected through 2.1.1 - rather than from the CPE alone.

Know when Open Redirect 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 7.6 HIGH
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.8 MEDIUM

Network-reachable with no attacker privileges (PR:N), but needs an active victim session and a user click (AC:H/UI:R); token theft yields high C/I and no availability impact.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:P/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
High
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
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

smart-sso through 2.1.1 contains an open redirect vulnerability in the /login handler that allows unauthenticated attackers to steal OAuth2 authorization codes by supplying an unvalidated redirectUri parameter. Attackers can send crafted /login links to users with active SSO sessions, then redeem stolen codes at /oauth2/access_token with any valid client credentials to obtain victims' access tokens.

Executive ViewAI

Why It Matters

Smart-sso deployments running version 2.1.1 or earlier are exposed to OAuth2 authorization-code theft that can allow an attacker to obtain a victim user's access token and act with that user's privileges across integrated applications. No public exploit identified at time of analysis, but the flaw can compromise both confidentiality and integrity, and no vendor-released patch is currently available. Because exploitation requires an active victim SSO session, user interaction, and valid OAuth2 client credentials, leadership should prioritize affected deployments while treating the risk as conditional rather than immediate.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include enforcing exact-match redirectUri allowlisting for registered OAuth2 clients, restricting or monitoring the /login and /oauth2/access_token endpoints, revoking unused OAuth2 client credentials and rotating secrets, shortening SSO session lifetimes and invalidating active sessions during investigation, requiring user confirmation for external redirects, and alerting on anomalous authorization-code redemption.

Threat Intelligence Overview

Prevalence
Low
niche open-source SSO project, limited enterprise footprint
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org Vulnrichment GitHub

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 N/A
Patch available No
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2017-1000117 HIGH POC
8.8 Oct 05

A malicious third-party can give a crafted "ssh://..." URL to an unsuspecting victim, and an attempt to visit the URL ca

CVE-2024-52875 HIGH POC
8.8 Jan 31

GFI Kerio Control versions 9.2.5 through 9.4.5 contain an HTTP response splitting vulnerability in the dest parameter of

CVE-2016-5385 HIGH POC
8.1 Jul 19

PHP through 7.0.8 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and therefore does not protect

CVE-2013-2248 MEDIUM POC
5.8 Jul 20

Multiple open redirect vulnerabilities in Apache Struts 2.0.0 through 2.3.15 allow remote attackers to redirect users to

CVE-2018-11784 MEDIUM POC
4.3 Oct 04

When the default servlet in Apache Tomcat versions 9.0.0.M1 to 9.0.11, 8.5.0 to 8.5.33 and 7.0.23 to 7.0.90 returned a r

CVE-2012-6499 MEDIUM POC
5.8 Jan 12

Open redirect vulnerability in age-verification.php in the Age Verification plugin 0.4 and earlier for WordPress allows

CVE-2015-2863 MEDIUM POC
4.3 Jul 20

Open redirect vulnerability in Kaseya Virtual System Administrator (VSA) 7.x before 7.0.0.29, 8.x before 8.0.0.18, 9.0 b

CVE-2017-3528 MEDIUM POC
5.4 Apr 24

Vulnerability in the Oracle Applications Framework component of Oracle E-Business Suite (subcomponent: Popup windows (li

CVE-2012-0518 MEDIUM
4.7 Oct 16

Unspecified vulnerability in the Oracle Application Server Single Sign-On component in Oracle Fusion Middleware 10.1.4.3

CVE-2024-21641 MEDIUM POC
6.5 Jan 05

Flarum is open source discussion platform software. Rated medium severity (CVSS 6.5), this vulnerability is remotely exp

CVE-2015-5354 MEDIUM POC
5.8 Jul 01

Open redirect vulnerability in Novius OS 5.0.1 (Elche) allows remote attackers to redirect users to arbitrary web sites

CVE-2015-5461 MEDIUM POC
6.4 Jul 08

Open redirect vulnerability in the Redirect function in stageshow_redirect.php in the StageShow plugin before 5.0.9 for

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