VDB
Sign up
HIGH8.5

GHSA-p4ww-mcp9-j6f2

Grav is vulnerable to Arbitrary File Read

Quick fix

GHSA-p4ww-mcp9-j6f2 — getgrav/grav: upgrade to the fixed version with the command below.

composer require getgrav/grav:^1.8.0-beta.27

Details

### Summary

- A low privilege user account with page editing privilege can read any server files using "Frontmatter" form. - 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.

### Details _The vulnerability can be found in /user/plugins/form/templates/forms/fields/display/display.html.twig_ ![image](https://github.com/getgrav/grav/assets/28057767/953dbdf1-310f-4c8e-866c-8470d70cc11d)

### PoC 1. This PoC was conducted on Grav CMS version 1.7.46 and Admin Plugin version 1.10.46 ![image](https://github.com/getgrav/grav/assets/28057767/6c8607d6-cea3-4699-8a5a-8a04d047676f)

2. go to “http://grav.local/admin/pages” then create new page with “Page Template” option set to “Form”. ![image](https://github.com/getgrav/grav/assets/28057767/451fe8bc-2e2e-4f8a-a548-385aca6d5504)

3. Then go to “Expert” and on Frontmatter input box used to following form template.

![image](https://github.com/getgrav/grav/assets/28057767/9e44758a-021a-45fd-9e26-03abbf8095ef)

4. Save page and go the preview or published page you will see the content of “/etc/passwd” file on the server. ![image](https://github.com/getgrav/grav/assets/28057767/94dc2363-10e1-4e74-81e4-6c7a09db4dff)

### Impact This can allow a low privileged user to perform a full account takeover of other registered users including Administrators. This can also allow an adversary to read any file on the web server. And Due to insufficient permission verification , user who can write a page also can use frontmatter feature using this IDOR vulnerability [PoC IDOR](https://www.youtube.com/watch?v=EU1QA0idoWE&ab_channel=%EA%B9%80%EC%A2%85%EB%AF%BC) mention in [CVE-2024-2792](https://github.com/getgrav/grav/security/advisories/GHSA-f6g2-h7qv-3m5v)

Are you affected?

Enter the version of the package you're using.

Affected packages

Packagist/getgrav/grav
Introduced in: 0Fixed in: 1.8.0-beta.27
Fixcomposer require getgrav/grav:^1.8.0-beta.27

References