Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker starts LINE auth for own account
-
DeliveryCapture attacker-controlled callback URL
-
ExploitLure victim to open callback link
-
ExecutionApp skips OAuth state validation
-
PersistVictim session bound to attacker's LINE identity
-
ImpactPersistent unauthorized login via linked account
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
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 | Exploitable only against applications that have the python-social-auth social-core LINE backend (LineOAuth2) enabled and are running a version prior to 5.0.2; the broader account-linking takeover path additionally requires the application's account-linking feature to be enabled. The attacker must control a LINE account to initiate authorization and must induce the victim to visit the crafted OAuth callback URL (UI:R), so the attack hinges on successful social engineering / phishing of the victim rather than a direct server-side trigger. Limiting factors: no effect on apps without the LINE backend, required victim interaction, and integrity-only impact (no data disclosure or availability loss); non-LINE social backends in the same library are not implicated by this specific flaw. |
| Impact | This is a genuine but conditional, medium-severity issue rather than a top-tier emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N, 6.5) is internally consistent with the description: exploitation is network-reachable and low-complexity, needs no attacker authentication to the target, but DOES require victim interaction (UI:R) - the victim must be lured to the OAuth callback URL. The impact is integrity-only (I:H, with C:N/A:N), which fits a login-CSRF / account-linking flaw (CWE-352) where the attacker does not read victim data or crash the service but subverts authentication state. No EPSS score, KEV entry, or SSVC decision data was supplied, so automatability and exploitation-maturity cannot be scored from the input. There is no public exploit identified at time of analysis - the referenced GitHub PR #1829 and commit 5b3b90d are the FIX (adding a self.validate_state() call) plus regression tests, not weaponized attacker code. The practical priority is tempered by two real gating factors: only deployments that enable the LINE backend are affected, and the account-takeover-via-linking path additionally requires the application to have account linking enabled. Treat as a prioritized patch for any app using the social-core LINE backend, especially where account linking is on, but not a drop-everything event for the broader ecosystem. |
| Exploit ScenarioDerived | An attacker begins a legitimate OAuth authorization flow for a LINE account they control, capturing the resulting callback URL, then phishes or otherwise induces a logged-in or anonymous victim to open that callback link. Because the LINE backend never validates the returned OAuth state parameter, the application completes the exchange and silently logs the victim into the attacker's LINE-backed account - or, if account linking is enabled, binds the attacker's LINE identity to the victim's existing account, creating a persistent backdoor login. No public exploit code is identified; the attack requires victim interaction (clicking the crafted callback). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 15, 2026
Missing OAuth state validation in the python-social-auth social-core LINE backend (LineOAuth2, versions prior to 5.0.2) lets an unauthenticated remote attacker complete the authorization-code exchange on behalf of a crafted callback URL they control, silently logging a victim into the attacker's LINE identity. When the application's account-linking feature is also enabled, the same missing check persists the attacker's LINE identity onto the victim's existing account, creating a durable unauthorized login path. The issue is rated CVSS 6.5 (AV:N/AC:L/PR:N/UI:R, integrity-only with no confidentiality or availability impact) and depends on phishing the victim into visiting the crafted callback; no public exploit code and no confirmed active exploitation (CISA KEV) were identified at time of analysis. Only deployments with the LINE backend enabled are affected, and the upstream fix ships in 5.0.2.
RemediationAI
Upgrade social-core to 5.0.2, which is the vendor-released patch containing the added state validation (commit 5b3b90d07ebccc1f5b076445b27ea35ec059764b; release tag at https://github.com/python-social-auth/social-core/releases/tag/5.0.2; advisory https://github.com/python-social-auth/social-core/security/advisories/GHSA-526j-582w-7fm9). If an immediate upgrade is not possible, the most effective compensating control is to disable the LINE backend entirely (remove LineOAuth2 from AUTHENTICATION_BACKENDS) - the trade-off is that legitimate LINE sign-in breaks for all users, so this is only viable where LINE login is optional. A less disruptive stopgap is to disable account linking, which eliminates the persistent unauthorized-login path while leaving the transient login-CSRF/session-swap behavior in place; its side effect is that users can no longer merge a LINE identity with an existing account. Alternatively, backport the one-line self.validate_state() addition from the upstream commit into social_core/backends/line.py, which restores state validation without a full version bump but requires maintaining a forked patch. Because exploitation requires the victim to follow a crafted callback URL, tightening phishing controls and instructing users not to open unexpected social-login links offers only marginal risk reduction and should not substitute for patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw sits in the OAuth 2.0 authorization-code flow implemented by social-core's LINE backend. The OAuth 'state' parameter is the protocol's anti-CSRF token: it binds the authorization request initiated in a user's session to the callback that returns the authorization code, preventing an attacker from injecting an authorization response generated for a different account. In affected versions the LINE backend issued state but did not verify it on return (CWE-352, cross-site request forgery), so an attacker who starts an authorization against their own LINE account can hand the resulting callback URL to a victim and have the library accept it as the victim's own flow. The upstream fix applies the library's existing OAuth2StateTestMixin contract by adding a self.validate_state() call in the backend's process_error path, aligning LINE with other backends such as those covered by the same test mixin. CPE data (cpe:2.3:a:python-social-auth:social-core:*:*:*:*:*:*:*:*) confirms the affected package is the social-core library itself across all pre-5.0.2 releases; the flaw does not affect non-LINE backends in the same library, and impacts integrity only - the victim's session or account-linked identity is changed, but no credentials or data are exposed and availability is unaffected.
Know when Python 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:N/UI:R/S:U/C:N/I:H/A:N
Network-reachable login CSRF needing no attacker auth (PR:N) but requiring the victim to visit the callback (UI:R); integrity-only account takeover gives I:H with C:N/A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Python Social Auth is a social authentication/registration mechanism. Prior to 5.0.2, the LINE backend exchanges an authorization code without validating the returned OAuth state. An attacker can begin authorization for an attacker-controlled LINE account and induce a victim to visit the resulting callback URL, causing the application to log the victim into the attacker's account. When account linking is enabled, the same missing validation can link the attacker's LINE identity to the victim's existing account and create a persistent unauthorized login path. Only applications with the LINE backend enabled are affected. This issue is fixed in version 5.0.2.
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
Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
EUVD-2026-102323
GHSA-526j-582w-7fm9
NVD
CVE.org
EPSS
Exploit-DB