High Β· published December 2, 2025
β‘ A sneaky privilege escalation lurking in Gravβs Admin plugin could let a user masquerade as an admin! π± Think of it like a restaurant where anyone can reserve a table under any name. If a user books a table as 'manager' and shows up with the right credentials, they might just waltz into the kitchen! An attacker with the power to create users can take complete control by creating an admin account with the same username as an existing one. This means they could access all administrative functionalities, modify settings, and wreak havoc on your site! This is absolutely devastating for security! π₯
Think of it like a restaurant where anyone can reserve a table under any name. If a user books a table as 'manager' and shows up with the right credentials, they might just waltz into the kitchen! The vulnerability exists because Grav does not enforce username uniqueness during user creation, allowing exploitation by creating an admin account with the same username as an existing admin.
An attacker with the power to create users can take complete control by creating an admin account with the same username as an existing one. This means they could access all administrative functionalities, modify settings, and wreak havoc on your site! This is absolutely devastating for security! π₯ Update Grav to version 1.8.0-beta.27 or later immediately to patch this vulnerability. Additionally, consider implementing checks for username uniqueness in your user management workflow to prevent similar issues in the future. This is fixable! Update your Grav installation, and youβll be in superhero mode, protecting your platform! π¦Έ
| Product | Versions | Fixed in |
|---|---|---|
| getgrav/grav | β₯ 1.7.49.5, < 1.8.0 | 1.8.0 |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |
| getgrav/grav | all versions | β |