CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme…
GitHub_M·CWE-204·Published 2026-02-02
CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. Prior to version 0.28.5.0, the authentication implementation in CI4MS is vulnerable to email enumeration. An unauthenticated attacker can determine whether an email address is registered in the system by analyzing the application's response during the password reset process. This issue has been patched in version 0.28.5.0.
CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. Prior to version 0.28.5.0, the authentication implementation in CI4MS is vulnerable to email enumeration. An unauthenticated attacker can determine whether an email address is registered in the system by analyzing the application's response during the password reset process. This issue has been patched in version 0.28.5.0.
**Summary** The authentication implementation in CI4MS is vulnerable to email enumeration. An unauthenticated attacker can determine whether an email address is registered in the system by analyzing the application's response during the password reset process. **Vulnerability Details** - The password reset flow returns different responses based on whether the provided email address exists in the database or not. - If the email is registered, the system typically returns a success message (e.g., "Password reset link has been sent"). If the email is not registered, the system returns an error message (e.g., "User not found" or a different HTTP status code). This discrepancy allows attackers to programmatically "enumerate" or confirm valid user emails, which can then be used for targeted phishing attacks or brute-force attempts. **Steps to Reproduce** 1. Navigate to the password reset page of the CI4MS installation. 2. Enter an email address that you know is not registered (e.g., nonexistent@example.com) and submit. Note the response message/code. 3. Enter an email address that is registered (e.g., an admin or test account) and submit. Note the different response. 4. The difference between these two responses confirms the enumeration vulnerability. **Suggested Mitigation** Implement a uniform, generic response for all password reset requests, regardless of whether the email exists. Recommended message: "If an account is associated with this email address, a password reset link has been sent."
**Summary** The authentication implementation in CI4MS is vulnerable to email enumeration. An unauthenticated attacker can determine whether an email address is registered in the system by analyzing the application's response during the password reset process. **Vulnerability Details** - The password reset flow returns different responses based on whether the provided email address exists in the database or not. - If the email is registered, the system typically returns a success message (e.g., "Password reset link has been sent"). If the email is not registered, the system returns an error message (e.g., "User not found" or a different HTTP status code). This discrepancy allows attackers to programmatically "enumerate" or confirm valid user emails, which can then be used for targeted phishing attacks or brute-force attempts. **Steps to Reproduce** 1. Navigate to the password reset page of the CI4MS installation. 2. Enter an email address that you know is not registered (e.g., nonexistent@example.com) and submit. Note the response message/code. 3. Enter an email address that is registered (e.g., an admin or test account) and submit. Note the different response. 4. The difference between these two responses confirms the enumeration vulnerability. **Suggested Mitigation** Implement a uniform, generic response for all password reset requests, regardless of whether the email exists. Recommended message: "If an account is associated with this email address, a password reset link has been sent."
CI4MS es un esqueleto de CMS basado en CodeIgniter 4 que ofrece una arquitectura modular, lista para producción, con autorización RBAC y soporte de temas. Antes de la versión 0.28.5.0, la implementación de autenticación en CI4MS es vulnerable a la enumeración de correos electrónicos. Un atacante no autenticado puede determinar si una dirección de correo electrónico está registrada en el sistema analizando la respuesta de la aplicación durante el proceso de restablecimiento de contraseña. Este problema ha sido parcheado en la versión 0.28.5.0.
| Version | Type | Source | Base | Exp | Impact | Vector |
|---|---|---|---|---|---|---|
| 3.1 | Primary | cve.org | 5.3 | — | — | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| 3.1 | Primary | cve.org | 5.3 | — | — | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| 3.1 | Secondary | NVD | 5.3 | 3.9 | 1.4 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| 3.1 | Secondary | GHSA | 5.3 | — | — | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |