Skip to main content

RuoYi-Vue-Pro EUVDEUVD-2026-109335

| CVE-2026-116007 LOW
Improper Restriction of Excessive Authentication Attempts (CWE-307)
2026-10-25 VulDB GHSA-529h-x3v3-53h3
2.9
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Identify SMS code verification endpoint
  2. Exploit
    Submit repeated SMS code guesses without rate limiting
  3. Impact
    Bypass SMS verification for targeted account

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Brute-force prevention, rate limiting
Exploitation Conditions

Exploitation requires that the application's SMS Code Verification feature is in use and reachable, and targets the validateSmsCode0 path in /service/sms/SmsCodeServiceImpl.java, which does not restrict the number of verification attempts (CWE-307), allowing an attacker to repeatedly submit code guesses for a known phone number. Limiting factors are significant: the CVSS vector and source both rate attack complexity as high (AC:H) and exploitability as 'difficult', because success depends on guessing a short-lived verification code within its validity window; impact is confined to low confidentiality (VC:L) with no integrity or availability effect. Affects ruoyi-vue-pro up to and including 2026.09, and no vendor-confirmed fixed version is available because the vendor did not respond to the disclosure.

Impact

This is a low-priority, high-CVSS-it-is-not - the VulDB CVSS 4.0 base score is 2.9 (LOW), and the vuln.today decision label is 'monitor', both pointing to a minor issue rather than an urgent one. The vector (AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N) shows a network-reachable, unauthenticated weakness but with high attack complexity (AC:H) and only low confidentiality impact and no integrity or availability impact - consistent with the source's own note that exploitability is 'difficult'. The signals are mutually consistent, not conflicting: a missing rate limit (CWE-307) on SMS-code verification that at most lets an attacker attempt to brute-force a short-lived code. No EPSS score is provided and the CVE is not on CISA KEV, so there is no evidence of active or widespread exploitation; the only exploitation signal is E:P (proof-of-concept) backed by a single gist reference that is not verified as working exploit code. Net assessment: a genuine but low-severity hardening gap, appropriate to track and patch on a normal cycle, not an emergency.

Exploit ScenarioDerived

An attacker who knows a target user's phone number repeatedly submits guesses to the SMS-code verification endpoint (SmsCodeServiceImpl.validateSmsCode0), which fails to restrict excessive attempts, hoping to guess a valid code before it expires. Because attack complexity is high and the code's validity window is short, success is difficult and limited to low confidentiality impact (e.g., bypassing SMS verification for one account). A public PoC reference exists on GitHub Gist, but it is not verified as working exploit code.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 25, 2026

Missing attempt throttling in the SMS code verification logic of ruoyi-vue-pro (through version 2026.09) allows unauthenticated remote attackers to repeatedly submit verification-code guesses for a known phone number, with the only real impact being low confidentiality exposure if a guess lands inside the code's validity window. Attack complexity is rated high and exploitability 'difficult', and the CVSS 4.0 base score is 2.9 (LOW) with a vuln.today decision label of 'monitor'; a public PoC reference exists but is not verified as working exploit code, no CISA KEV entry applies, and the vendor did not respond to the disclosure so no fixed release is confirmed.

RemediationAI

No vendor-released patch was identified at time of analysis, and the vendor did not respond to the disclosure, so upgrading alone is not currently an option and compensating controls must carry the risk. The most direct fix is code-level: add a per-phone-number and per-session failure counter in SmsCodeServiceImpl.validateSmsCode0, invalidate the code after a small number of wrong guesses (for example 3-5), and enforce a cooldown or lockout window before a new code can be requested - the trade-off is that legitimate users who mistype will need to request a fresh code and may hit the cooldown. Add server-side rate limiting on the SMS validate endpoint (per IP and per phone number) at the gateway or via an interceptor; this reduces brute-force throughput but can affect shared-NAT or carrier-grade NAT users if the per-IP budget is too tight. Require a CAPTCHA or proof-of-work challenge before code submission, accepting the added friction and accessibility impact on the login and phone-binding flows. If the SMS verification feature is not required in a given deployment, disable the SMS code service and its routes entirely, which removes the exposure but also breaks SMS-based login and phone binding. Shortening code validity and lengthening the code to 6+ digits reduces the guessing window at the cost of more failed user attempts, and alerting on repeated failed validations for the same phone number gives detection coverage in the interim. Track the VulDB entry at https://vuldb.com/vuln/426104 for any later maintainer fix.

Affected VersionsENISA

ruoyi-vue-pro 2026.09

Affected Packages

euvd ruoyi_vue_pro no fix

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

The affected code is the Java/Spring-based SMS verification service of ruoyi-vue-pro, specifically SmsCodeServiceImpl.validateSmsCode0 in /service/sms/SmsCodeServiceImpl.java. The root cause is CWE-307 (Improper Restriction of Excessive Authentication Attempts): the validation routine checks a submitted code against the stored value but does not count failures, lock the phone number or session, or otherwise throttle repeated submissions, so an attacker who knows or guesses a target phone number can iterate guesses against the verification endpoint. The CPE data maps affected installs to two vendor namespaces, yunaiv:ruoyi-vue-pro and zhijiantianya:ruoyi-vue-pro, both unbounded versions, and EUVD records 2026.09 as the affected release. The practical ceiling on exploitation is set by the code's short lifetime and length - the supplied sources rate AC:H and exploitability as difficult, and the assessed impact is confidentiality-only (VC:L, no integrity or availability effect) because a successful guess at most reveals or confirms account/phone association data tied to the SMS login or binding flow. The trigger specifics beyond the missing attempt counter are not described in the available sources, so no assumptions should be made about a particular race condition, cache behaviour or bypass of the code comparison itself.

Know when Java 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 (VulDB) PRIMARY 2.9 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
vuln.today AI 3.7 LOW

Remotely reachable and unauthenticated (AV:N/PR:N); AC:H because success requires guessing a short-lived SMS code before expiry; only low confidentiality impact, no integrity or availability effect.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Severity Changed
Oct 25, 2026 - 04:22 NVD
MEDIUM LOW
CVSS changed
Oct 25, 2026 - 04:22 NVD
6.3 (MEDIUM) 2.9 (LOW)
CVE Published
Oct 25, 2026 - 03:45 cve.org
LOW 2.9

DescriptionCVE.org

A flaw has been found in YunaiV/zhijiantianya ruoyi-vue-pro up to 2026.09. The impacted element is the function SmsCodeServiceImpl.validateSmsCode0 of the file /service/sms/SmsCodeServiceImpl.java of the component SMS Code Verification. This manipulation causes improper restriction of excessive authentication attempts. The attack may be initiated remotely. The complexity of an attack is rather high. The exploitability is regarded as difficult. The exploit has been published and may be used. The vendor was contacted early about this disclosure but did not respond in any way.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Medium
popular open-source Chinese rapid-development admin framework, variable production footprint
Exploit
POC
Public exploit code exists
Social Media
2
Sightings
Data Quality
5 sources
Confidence: Medium

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 LOW
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Related Vulnerabilities in ruoyi-vue-pro SMS Authentication Flaws

View all 2

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

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