Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAcquire same-user openid-scoped access token
-
DeliveryCall GET /api/my-account/identities/{target}/access-token
-
ExploitBypass missing identities-scope check
-
ExecutionRetrieve stored social/SSO provider token
-
ImpactReplay 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N
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).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Path traversal in @logto/tunnel (versions <= 0.3.8) exposes arbitrary file read to any network peer that can reach the t
Server-side request forgery in Logto prior to 1.43.0 allows an authenticated tenant administrator to point outbound conn
Server-side request forgery in Logto through 1.42.0 allows tenant administrators holding Management API credentials to r
Server-side request forgery in Logto through 1.42.0 allows tenant administrators holding Management API tokens to direct
Catastrophic ReDoS in Logto's email subaddressing blocklist allows unauthenticated remote attackers to stall the Node.js
GitHub Actions workflow injection in Logto's commitlint.yml exposes versions 1.40.1 through 1.41.0 to arbitrary shell co
EUVD-2026-86223
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB