提交 #627926: i-diario i-diario Password Reset Functionality 2.9 i-diario Password Reset Functionality信息

标题i-diario i-diario Password Reset Functionality 2.9 i-diario Password Reset Functionality
描述Description Summary A user enumeration vulnerability was identified in the "Forgot Password" functionality. The system responds differently depending on whether the submitted username exists, allowing an attacker to enumerate valid user accounts. This may assist in targeted brute-force attacks or social engineering campaigns. Details When submitting a POST request to the endpoint /password/email, the system returns different responses based on whether the provided login parameter corresponds to an existing user. For example: If the user exists: the response contains a message such as "A password reset link has been sent". If the user does not exist: the response contains a message like "We couldn't find a user with that login". This behavior allows an attacker to determine which usernames are valid by simply automating requests with different inputs. The vulnerability arises from a lack of uniform response for valid and invalid accounts during the password recovery process. PoC (Proof of Concept) A Python script was created to demonstrate this issue: import requests url = "http://192.168.100.226/password/email" headers = { "Content-Type": "application/x-www-form-urlencoded", "Origin": "http://192.168.100.226", "Referer": "http://192.168.100.226/password/reset" } logins = ["admin", "jose", "maria", "professor", "aluno1"] for login in logins: response = requests.post(url, data={"login": login}, headers=headers) if "enviado" in response.text.lower(): print(f"[+] {login} -> EXISTE") elif "não encontramos" in response.text.lower(): print(f"[-] {login} -> NÃO EXISTE") This script was able to confirm which users are registered in the system based on the system's response content. Impact Type of vulnerability: User Enumeration Risk: Information disclosure Impact: Allows an unauthenticated attacker to enumerate valid user accounts, which can be used to: Launch brute-force or credential stuffing attacks Perform targeted phishing/social engineering campaigns Affected: Any user registered in the system Recommendation To mitigate this issue: Return a generic and identical message regardless of whether the user exists (e.g., "If the email is registered, a reset link will be sent."). Optionally, implement rate limiting and CAPTCHA on the password recovery endpoint to deter automated attacks.
来源⚠️ https://www.linkedin.com/in/vanderlei-princival/?originalSubdomain=br
用户
 princival (UID 88631)
提交2025-08-03 18時58分 (1 年前)
管理2025-08-17 22時38分 (14 days later)
状态已接受
VulDB条目320431 [Portabilis i-Diario 直到 1.5.0 Password Recovery Endpoint /password/email 信息公开]
积分20

Do you need the next level of professionalism?

Upgrade your account now!