Description
Summary
Pimcore Admin Classic Bundle allows attackers to enumerate valid accounts because the Forgot password functionality uses different messages when the account is valid vs not.
Details
-> error message discloses existing accounts and leads to user enumeration on the target via "Forgot password" function. since no generic error message is being implemented.
PoC
![image](https://github.com/user-attachments/assets/866e4cd1-25b2-4ed8-8292-6c528ae660d5)
Enter first a valid account email address and click on submit
![image](https://github.com/user-attachments/assets/7aaa1723-b0f9-4a76-b943-e1b01d1f37a9)
A green message validating the account exists is shown and a login link is sent to the email
![image](https://github.com/user-attachments/assets/7adb1f05-7339-4265-95c9-4d4817d4a6a1)
now go back and use a random email from temp-mail to test with a non existant account
![image](https://github.com/user-attachments/assets/5ce0bb53-16c3-4f34-9541-9e01b49c7472)
![image](https://github.com/user-attachments/assets/213e838f-0944-484e-93bf-7468ed9e699d)
click on submit and get an error in red that a problem occured
![image](https://github.com/user-attachments/assets/c30dc56f-e612-46a0-945d-e9dc5f14da39)
Impact
user enumeration is a confidentiality threat , that could potentially lead to an attacker to enumerate valid accounts and maybe taking over accounts in case combined with credential stuffing on an organisation .
A remedition would be to change the error message in both cases ( valid and invalid emails ) to what we call a "synchronised error " it would be for example : " if the given email address is linked to an account , then a login link would be sent to that email " or something along those lines
References
Description
Summary
Pimcore Admin Classic Bundle allows attackers to enumerate valid accounts because the Forgot password functionality uses different messages when the account is valid vs not.
Details
-> error message discloses existing accounts and leads to user enumeration on the target via "Forgot password" function. since no generic error message is being implemented.
PoC
![image](https://github.com/user-attachments/assets/866e4cd1-25b2-4ed8-8292-6c528ae660d5)
Enter first a valid account email address and click on submit
![image](https://github.com/user-attachments/assets/7aaa1723-b0f9-4a76-b943-e1b01d1f37a9)
A green message validating the account exists is shown and a login link is sent to the email
![image](https://github.com/user-attachments/assets/7adb1f05-7339-4265-95c9-4d4817d4a6a1)
now go back and use a random email from temp-mail to test with a non existant account
![image](https://github.com/user-attachments/assets/5ce0bb53-16c3-4f34-9541-9e01b49c7472)
click on submit and get an error in red that a problem occured
![image](https://github.com/user-attachments/assets/c30dc56f-e612-46a0-945d-e9dc5f14da39)
Impact
user enumeration is a confidentiality threat , that could potentially lead to an attacker to enumerate valid accounts and maybe taking over accounts in case combined with credential stuffing on an organisation .
A remedition would be to change the error message in both cases ( valid and invalid emails ) to what we call a "synchronised error " it would be for example : " if the given email address is linked to an account , then a login link would be sent to that email " or something along those lines
References