Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user
-
DeliveryObtain or enumerate victim's socialId
-
ExploitSend DELETE /auth/unlock/{socialId}
-
ExecutionServer deletes binding and OAuth tokens
-
ImpactVictim blocked from social login
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | The attacker must hold a valid authenticated account (PR:L) on the RuoYi-Vue-Plus instance and must know or enumerate the target victim's social binding identifier (socialId), which the vulnerable DELETE /auth/unlock/{socialId} endpoint accepts without verifying ownership. The deployment must have the OAuth social-login binding feature in use (GitHub, WeChat, or Gitee) for there to be a binding worth deleting. Limiting factors: exploitation yields only denial of the victim's social-login path (no confidentiality loss, no account takeover, no password credential impact), requires a logged-in session, and depends on obtaining the correct socialId - if binding IDs are non-sequential or hard to enumerate, targeting a specific victim is harder. |
| Impact | This is a genuinely low-priority issue, and the available signals agree rather than conflict. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L) yields a score of only 2.3: no confidentiality impact, and only LOW integrity and availability impact limited to a single victim's social-login binding. PR:L confirms an authenticated account is required, and AT:P reflects that the attacker must first obtain the victim's specific socialId, which is a meaningful precondition. No EPSS score, CISA KEV listing, or explicitly-flagged POC is present in the input, so there is no public exploit code confirmed - though a detailed technical write-up (hackmd) and a VulnCheck advisory document the exact vulnerable request, meaning exploitation is trivial for anyone who reads them. There is no SSVC decision data provided. Bottom line: a real but minor authorization (IDOR) flaw that denies a victim their social-login convenience; it does not grant account takeover, data disclosure, or privilege escalation, so it does not warrant emergency prioritization. One note: the single input Tag 'Authentication Bypass' is inconsistent with the CWE-639 classification and PR:L requirement - this is an authorization/IDOR defect, not an authentication bypass. |
| Exploit ScenarioDerived | An attacker with any valid low-privilege RuoYi-Vue-Plus account enumerates or obtains another user's social binding identifier and issues a DELETE /auth/unlock/{socialId} request using the victim's socialId. The server deletes the victim's GitHub, WeChat, or Gitee binding and stored OAuth tokens, preventing the victim from logging in via that social provider until they re-bind. No public exploit code is confirmed in the input, but the VulnCheck advisory and hackmd write-up describe the exact request. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
RuoYi-Vue-Plus through 6.0.0 exposes an insecure direct object reference in its social-login unbind endpoint, letting an authenticated user delete another user's OAuth binding (GitHub, WeChat, or Gitee) - along with the stored OAuth tokens - simply by supplying the victim's socialId to DELETE /auth/unlock/{socialId}. The attacker must hold a valid account on the instance (CVSS vector PR:L) and must know or guess the target's binding identifier, and the impact is confined to denial of the victim's social-login path: no confidentiality loss, no credential or password impact, and no account takeover, which is why our independent assessment scores this CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L (2.3). There is no CISA KEV entry or EPSS signal in the provided data and no confirmed public exploit code, though a public technical writeup of the issue is referenced; a low-priority, hardening-class fix rather than an emergency.
RemediationAI
No vendor-released patch version is identified in the provided data - the referenced GitHub links are source-code locations and the VulnCheck advisory, not a fixed release - so treat this as an unfixed hardening item until an upstream fix is published; check https://github.com/dromara/RuoYi-Vue-Plus and the advisory for updates. In the meantime, the highest-value compensating control is to enforce an ownership check in SysSocialServiceImpl before deletion: derive the caller's identity from the authenticated security context and refuse the request unless the social record's userId matches, which fully closes the IDOR with no functional side effect other than breaking the (already broken) ability to delete someone else's binding. If code changes are not immediately possible, restrict or block the DELETE /auth/unlock/{socialId} route at the reverse proxy or Spring Security filter chain for all non-administrative roles - this stops abuse but also disables legitimate self-service unbinding, so users must contact support to remove a binding. Temporarily disabling the social-login/unbind feature entirely removes the attack surface at the cost of losing OAuth login convenience. Because the attack requires an authenticated session, tightening account provisioning, rotating any suspected compromised sessions, and alerting on bursts of DELETE /auth/unlock requests or on social-unbind events followed by unexpected OAuth token revocation will help detect abuse while the code fix is pending.
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
RuoYi-Vue-Plus is a Java/Spring Boot后台 management framework (dromara) that bundles social OAuth login via providers such as GitHub, WeChat, and Gitee; user bindings are persisted as social records with a unique socialId and associated OAuth tokens. The flaw is CWE-639, Authorization Bypass Through User-Controlled Key: the controller code at AuthController.java (lines 156-162 in commit 7180b5297) passes the path-variable socialId straight into the unbind flow, and SysSocialServiceImpl.java (lines 116-118) deletes the matching binding record without comparing its owner to the authenticated principal. Because the socialId is a client-controlled key rather than a server-derived reference to the caller's own account, any logged-in user who presents another user's identifier can force deletion of that binding and its stored tokens. No cross-tenant or privilege escalation chain is present - the vulnerable operation only removes a row the caller does not own - so the consequence is integrity/availability of a single optional authentication method rather than exposure of data or takeover of the account.
Know when the next one hits your stack
- 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
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
Authenticated low-privilege account needed (PR:L) over the network (AV:N); binding IDs are likely enumerable so AC:L; deletes another user's data (I:L) and blocks their social login (A:L) with no confidentiality impact.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
DescriptionCVE.org
RuoYi-Vue-Plus through 6.0.0 contains an insecure direct object reference vulnerability that allows authenticated users to delete other users' social login bindings by supplying their socialId. Attackers can send DELETE /auth/unlock/{socialId} requests with a victim's binding id to remove their GitHub, WeChat, or Gitee binding and stored OAuth tokens, blocking social login.
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.
EUVD-2026-98939
GHSA-qv77-x67j-jf7m
NVD
CVE.org
EPSS
Exploit-DB