CVE-2024-34082: Grav Arbitrary File Read to Account Takeover
Summary A low privilege user account with page edit privilege can read any server files using Twig Syntax. This includes Grav user account files - /grav/user/accounts/.yaml. This file stores hashed user password, 2FA secret, and the password reset token. This can allow an adversary to compromise any registered account by resetting a password for a user to get access to the password reset token from the file or by cracking the hashed password.
Proof Of Concept {{ readfile('/var/www/html/grav/user/accounts/riri.yaml') }}
Use the above Twig template syntax in a page and observe that the administrator riri's authentication details are exposed accessible by any unauthenticated user.
!file-read-2-ATO
As an additional proof of concept for reading system files, observe the /etc/passwd file read using the following Twig syntax: {{ readfile('/etc/passwd') }}
!file-read-etc-passwd
Impact This can allow a low privileged user to perform a full account takeover of other registered users including Adminsitrators. This can also allow an adversary to read any file in the web server.
Other sources
Grav is a file-based Web platform. Prior to version 1.7.46, a low privilege user account with page edit privilege can read any server files using Twig Syntax. This includes Grav user account files - /grav/user/accounts/.yaml. This file stores hashed user password, 2FA secret, and the password reset token. This can allow an adversary to compromise any registered account and read any file in the web server by resetting a password for a user to get access to the password reset token from the file or by cracking the hashed password. A low privileged user may also perform a full account takeover of other registered users including Administrators. Version 1.7.46 contains a patch.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-34082?
CVE-2024-34082 is classified as a low severity vulnerability.
How do I fix CVE-2024-34082?
To fix CVE-2024-34082, upgrade Grav to version 1.7.46 or later.
What does CVE-2024-34082 allow a low privilege user to access?
CVE-2024-34082 allows a low privilege user to read any server files using Twig Syntax, including hashed user password files.
What type of software is affected by CVE-2024-34082?
CVE-2024-34082 affects the Grav content management system.
What is stored in the files that can be accessed due to CVE-2024-34082?
The accessed files can store hashed user passwords, 2FA secrets, and password reset tokens.