
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-25509 is a user email enumeration vulnerability in CI4MS, a CodeIgniter 4-based CMS skeleton with RBAC authorization and theme support. An unauthenticated attacker can determine whether an email address is registered in the system by analyzing differing application responses during the password reset process. All CI4MS versions prior to 0.28.5.0 are affected. The vulnerability was published on February 2, 2026, and patched in version 0.28.5.0. It carries a CVSS v3.1 base score of 5.3 (Medium) (GitHub Advisory, Security Advisory).
The root cause is classified under CWE-204 (Observable Response Discrepancy) and CWE-203 (Observable Discrepancy). In the vulnerable forgotPassword() method of AuthController.php, the application returns a distinct error message (e.g., lang('Auth.forgotNoUser')) when a submitted email is not found in the database, versus a success message (e.g., "Password reset link has been sent") when the email exists. This behavioral difference is observable over the network with no authentication, no special privileges, and no user interaction required. The fix, applied in commit 86be293, replaces the distinct error response with the same generic success-style message (lang('Auth.forgotEmailSent')) regardless of whether the email exists (Patch Commit, GitHub Advisory).
Successful exploitation allows an unauthenticated attacker to programmatically build a list of valid registered email addresses by iterating submissions to the password reset endpoint and comparing responses. This enumerated data can be weaponized for targeted phishing campaigns, social engineering, or credential brute-force attacks against confirmed valid accounts. There is no direct integrity or availability impact; the confidentiality impact is limited to the disclosure of whether specific email addresses are registered in the system (GitHub Advisory, Security Advisory).
There is no public proof-of-concept exploit code and no evidence of in-the-wild exploitation at this time. The attack requires no authentication, no user interaction, and can be fully automated using simple HTTP scripting tools. The EPSS score is approximately 0.044% (0.000440), indicating a low near-term exploitation probability. This vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (GitHub Advisory).
/auth/forgot-password or equivalent.nonexistent@example.com) and record the HTTP response body and status code — this establishes the "not found" response baseline.requests library or ffuf), submit a list of candidate email addresses to the password reset endpoint in rapid succession./auth/forgot-password) from a single IP address or a rotating set of IPs in a short time window; requests containing varied email addresses in the POST body.Upgrade CI4MS to version 0.28.5.0 or later, which implements a uniform generic response for all password reset requests regardless of whether the submitted email exists in the database. As a workaround for installations that cannot be immediately upgraded, administrators should manually modify modules/Auth/Controllers/AuthController.php to replace the distinct lang('Auth.forgotNoUser') error response with the same generic message used for successful submissions (e.g., lang('Auth.forgotEmailSent')). Additionally, implementing rate limiting on the password reset endpoint can reduce the risk of automated enumeration (Patch Commit, GitHub Advisory).
The vulnerability was reported by security researcher Lars van Mil (GitHub: Far-Horizons), who was credited in the CI4MS Security Hall of Fame for identifying this and related vulnerabilities. The maintainer acknowledged the report promptly and released a patch in version 0.28.5.0 shortly after disclosure. No significant broader media coverage or notable community discussion beyond the GitHub advisory has been identified (Patch Commit, Security Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."