Skip to main content

Python Social Auth CVE-2026-62322

| EUVDEUVD-2026-102323 MEDIUM
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-10-15 GitHub_M GHSA-526j-582w-7fm9
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Attacker starts LINE auth for own account
  2. Delivery
    Capture attacker-controlled callback URL
  3. Exploit
    Lure victim to open callback link
  4. Execution
    App skips OAuth state validation
  5. Persist
    Victim session bound to attacker's LINE identity
  6. Impact
    Persistent 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).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

social-core < 5.0.2

Affected Packages

pypi social-auth-core fix: 5.0.2
euvd social_core fix: 5.0.2

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

Vendor (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
Red Hat 6.5 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 15, 2026 - 20:03 EUVD
CVE Published
Oct 15, 2026 - 18:45 cve.org
MEDIUM 6.5

DescriptionCVE.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

EPSS Score
0.2%
Top 96% exploitable
Prevalence
Low
popular Python social-auth library, but only niche LINE backend affected
Threat Intel
1
1 source
Data Quality
6 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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

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

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

Vendor StatusVendor

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