Skip to main content

Logto CVE-2026-63203

| EUVDEUVD-2026-86223 HIGH
Missing Authorization (CWE-862)
2026-09-24 GitHub_M
7.6
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Acquire same-user openid-scoped access token
  2. Delivery
    Call GET /api/my-account/identities/{target}/access-token
  3. Exploit
    Bypass missing identities-scope check
  4. Execution
    Retrieve stored social/SSO provider token
  5. Impact
    Replay token against upstream provider APIs

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

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

Exploitation Conditions

Requires all of: (1) the attacker controls an application holding a valid same-user Logto access token that has only the openid scope; (2) federated token-set storage must be enabled in the Logto tenant; and (3) the victim user must have previously authenticated through a supported social or enterprise-SSO connector so that a provider token is actually stored. It affects Logto versions 1.31.0 through 1.41.x (fixed in 1.42.0). Limiting factors: exploitation is authenticated (PR:L - a token must already be granted to the app), and if federated token-set storage is disabled or the user never used a social/SSO connector, there is no stored token to disclose. The impact is bounded by the upstream provider token's granted scopes.

Impact

This is a genuine authorization flaw (CWE-862 missing scope enforcement) with real consequences, but its raw CVSS of 7.6 overstates the ease of exploitation. The provided vector CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N correctly captures network reach and low-privilege access, but PR:L is important: the attacker must already hold a valid same-user access token (i.e., an OAuth client the user authorized with only the openid scope), so this is authenticated abuse, not open internet exposure. There is no EPSS score, no CISA KEV listing, and no public POC in the provided intelligence, so exploitation is theoretical at analysis time - no public exploit identified at time of analysis. Crucially, the description imposes two hard preconditions (federated token-set storage enabled AND the victim previously authenticated through a supported social/enterprise-SSO connector) that substantially narrow the exploitable population versus what AV:N/AC:L alone implies. The S:C/C:H rating is defensible because the disclosed tokens grant access to a separate security authority (the upstream social/SSO provider). Net: a real, patch-worthy issue for Logto operators using federated token storage, but a targeted/conditional risk rather than a wormable mass-exploitation candidate.

Exploit ScenarioDerived

A low-trust OAuth application obtains a same-user Logto access token scoped only to openid (normal for a basic sign-in integration). Instead of being limited to identity display, it calls GET /api/my-account/identities/{target}/access-token (or the SSO variant) and, because the identities-scope check was missing, receives the user's stored Google/enterprise-SSO provider access token - which it then replays against upstream provider APIs within that token's granted scopes. No public exploit code is identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
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 – Sep 24, 2026

Stored social and enterprise SSO provider access tokens can be retrieved from Logto's Account API by a low-trust application that holds only an openid-scoped same-user access token, because the third-party token handlers in packages/core/src/routes/account/third-party-tokens.ts authenticate the caller but omit the identities scope check that protects neighboring identity-detail endpoints. Logto deployments from 1.31.0 through 1.41.x are affected; version 1.42.0 adds the missing scope gate to the GET /api/my-account/identities/{target}/access-token, GET /api/my-account/sso-identities/{connectorId}/access-token, and related PUT routes. No public exploit code was identified at time of analysis, and exploitation is constrained: federated token-set storage must be enabled in the tenant and the victim must already have linked a supported social or enterprise SSO connector, with downstream impact bounded by the scopes granted to the leaked provider token.

RemediationAI

Upgrade to Logto 1.42.0, which is the exact version that introduces the missing identities scope gate: the patch is available via the release tag https://github.com/logto-io/logto/releases/tag/v1.42.0, with the source change in pull request https://github.com/logto-io/logto/pull/9116 (commit b560d17a4da4c25da95e3c73af4485d18ab7c224), and the vendor advisory https://github.com/logto-io/logto/security/advisories/GHSA-6g9q-qrx7-3jxf documents the issue. Vendor-released patch: 1.42.0. If an immediate upgrade is not possible, the most effective compensating control is to avoid granting any application an access token with only the openid scope where that application is not fully trusted, since the flaw is only reachable with a same-user token; additionally, disabling federated token-set storage in the tenant removes the stored secrets that can be disclosed, at the cost of losing the ability to call upstream provider APIs on the user's behalf (this breaks social/SSO token refresh and provider-API integrations). Administrators can also rotation-revoke any provider tokens previously issued to users through the affected connectors, which limits the value of any tokens already exfiltrated but forces users to re-link their social or enterprise SSO accounts. Restricting which connectors are enabled reduces the number of users holding stored token sets but does not fix the underlying authorization gap, so upgrading remains the only complete remediation.

Affected VersionsENISA

logto 1.31.0, < 1.42.0

Affected Packages

euvd logto_1_31_0 fix: 1.42.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

Logto is an open-source identity and authentication platform, and the affected code is the Account API router (Koa) shipped in the @logto/core package. The root cause is CWE-862 (Missing Authorization): the handlers for reading stored third-party token sets authenticate the user via ctx.auth but never assert the presence of the identities user scope (UserScope.Identities) in ctx.auth.scopes, even though adjacent social and SSO identity-detail endpoints enforce it. Logto's Authorization Server issues access tokens carrying a set of user scopes; a requesting application is only supposed to see identity data when the identities scope was consented to, so the missing check effectively breaks the Account API consent boundary. The upstream fix in PR #9116 imports UserScope from @logto/core-kit and inserts assertThat(scopes.has(UserScope.Identities), 'auth.forbidden', 403) into the GET social, GET enterprise-SSO, and PUT handlers, also adding 403 to each route's documented status list; the accompanying tests confirm that with only openid the routes return 403 auth.forbidden and, importantly, never reach the secret queries findSocialTokenSetSecretByUserIdAndTarget or findEnterpriseSsoTokenSetSecretByUserIdAndConnectorId. The vulnerability only becomes exploitable once the underlying token-set secret store is populated, which is why the prerequisite is that the user has previously authenticated through a supported connector with federated token-set storage enabled. Impact is bounded by the upstream provider token's granted scopes, so the primary harm is confidentiality loss of provider credentials rather than direct code execution.

Know when Logto 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.6 HIGH
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N
vuln.today AI 8.5 HIGH

Network API abuse by an app already holding an openid-scoped token (PR:L); no per-request user interaction at exploit time (UI:N, unlike vendor UI:R); disclosed token acts on a separate provider (S:C, C:H) with limited upstream write (I:L).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Sep 24, 2026 - 17:18 EUVD
CVE Published
Sep 24, 2026 - 15:18 cve.org
HIGH 7.6

DescriptionCVE.org

Logto is the modern, open-source auth infrastructure for SaaS and AI apps. From 1.31.0 until 1.42.0, the Account API handlers in packages/core/src/routes/account/third-party-tokens.ts allow a caller holding a same-user access token with only the openid scope to retrieve stored social or enterprise SSO provider access tokens through GET /api/my-account/identities/{target}/access-token or GET /api/my-account/sso-identities/{connectorId}/access-token. The handlers authenticate the user but do not require the identities scope that protects neighboring identity-detail operations, bypassing the intended Account API consent boundary. Exploitation requires federated token-set storage to be enabled and the affected user to have authenticated through a supported connector. A low-trust application can use the disclosed provider token against upstream APIs within that token's granted scopes. This issue is fixed in version 1.42.0.

Technical POC Analysis

CWE-862 (Missing Authorization).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Logto identity platform deployments running versions 1.31.0 through 1.41.x can leak the stored social and enterprise SSO access tokens of their users to any low-trust application in the same tenant that holds only a limited same-user token, effectively letting a minor or untrusted integration harvest the credentials employees use to reach connected SaaS and partner systems. Exposure is conditional - federated token-set storage must be enabled and affected users must have linked a supported social or enterprise SSO connector - but where those conditions hold, a single low-trust app can silently collect third-party access tokens across the user base, with downstream reach bounded only by the scopes originally granted to those provider tokens. Leadership should treat this as a third-party identity and access risk requiring immediate deployment inventory and tenant configuration review rather than a routine code fix.

Business Impact: High
Compensating Controls

The advisory feed marks no vendor patch as available, although the source notes that Logto 1.42.0 adds the missing identities scope gate to the affected routes - upgrading to 1.42.0 or later should be treated as the definitive fix. Interim mitigations: disable tenant-level federated token-set storage, revoke and rotate third-party provider access tokens for linked social and enterprise SSO connectors and require re-linking, inventory and remove applications holding only openid-scoped same-user tokens, and alert on calls to GET /api/my-account/identities/{target}/access-token and GET /api/my-account/sso-identities/{connectorId}/access-token. No public exploit code was identified at time of analysis, and no confirmed actively exploited (CISA KEV) status applies.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Low
niche open-source self-hosted SaaS/AI auth platform, limited enterprise footprint
Data Quality
3 sources
Confidence: Low

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.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
Poc
System Exposure· derived
Open
Automatable
No
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

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