Grav Arbitrary File Read to Account Takeover
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2024-34082
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 20:10 UTC · Revision 1
Source evidence
Grav Arbitrary File Read to Account Takeover
core-osv · Original sourcePublished 15 May 2024, 16:42 UTC
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.
osv:CVE-2024-34082
Complete source record
{
"id": "956633cb66c8deb0136a26504a98f97f7bb15edd547f256b6646156ba49c6cc9",
"url": "https://osv.dev/vulnerability/CVE-2024-34082",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Grav Arbitrary File Read to Account Takeover",
"summary": "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.",
"evidence": "osv:CVE-2024-34082",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2024-34082",
"aliases": [
"CVE-2024-34082",
"GHSA-f8v5-jmfh-pr69"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/getgrav/grav",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "faa8ee5fe13f061c4ae218a7fc5df89c69817506"
},
{
"fixed": "b6bba9eb99bf8cb55b8fa8d23f18873ca594e348"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "1.7.46"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "b6bba9eb99bf8cb55b8fa8d23f18873ca594e348"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"1.7.45",
"1.7.44",
"1.7.43",
"1.7.42.3",
"1.7.42.2",
"1.7.42.1",
"1.7.42",
"1.7.41.2",
"1.7.41.1",
"1.7.41",
"1.7.40",
"1.7.39.4",
"1.7.39.3",
"1.7.39.2",
"1.7.39.1",
"1.7.39",
"1.7.38",
"1.7.37.1",
"1.7.37",
"1.7.36",
"1.7.35",
"1.7.34",
"1.7.33",
"1.7.32",
"1.7.31",
"1.7.30",
"1.7.29.1",
"1.7.29",
"1.7.28",
"1.7.27.1",
"1.7.27",
"1.7.26.1",
"1.7.26",
"1.7.25",
"1.7.24",
"1.7.23",
"1.7.22",
"1.7.21",
"1.7.20",
"1.7.19",
"1.7.18",
"1.7.17",
"1.7.16",
"1.7.15",
"1.7.14",
"1.7.13",
"1.7.12",
"1.7.10",
"1.7.9",
"1.7.8",
"1.7.7",
"1.7.6",
"1.7.5",
"1.7.4",
"1.7.3",
"1.7.1",
"1.7.0",
"1.7.0-rc.20",
"1.7.0-rc.19",
"1.7.0-rc.18",
"1.7.0-rc.17",
"1.7.0-rc.15",
"1.7.0-rc.14",
"1.7.0-rc.13",
"1.7.0-rc.12",
"1.7.0-rc.10",
"1.7.0-rc.9",
"1.7.0-rc.8",
"1.7.0-rc.7",
"1.7.0-rc.6",
"1.7.0-rc.5",
"1.7.0-rc.4",
"1.7.0-rc.3",
"1.7.0-rc.2",
"1.7.0-rc.1",
"1.7.0-beta.10",
"1.7.0-beta.9",
"1.7.0-beta.8",
"1.7.0-beta.7",
"1.7.0-beta.6",
"1.7.0-beta.5",
"1.7.0-beta.4",
"1.7.0-beta.3",
"1.7.0-beta.2",
"1.7.0-beta.1",
"1.6.0-rc.4",
"1.6.0-rc.3",
"1.6.0-rc.2",
"1.6.0-rc.1",
"1.6.0-beta.8",
"1.6.0-beta.7",
"1.6.0-beta.6",
"1.6.0-beta.5",
"1.6.0-beta.2",
"1.6.0-beta.1",
"1.5.0-rc.1",
"1.5.0-beta.2",
"1.5.0-beta.1",
"1.3.0-rc.5",
"1.3.0-rc.4",
"1.3.0-rc.3",
"1.3.0-rc.1",
"1.2.0-rc.3",
"1.2.0-rc.2",
"1.2.0-rc.1",
"1.1.9-rc.3",
"1.1.9-rc.2",
"1.1.9-rc.1",
"1.1.0-rc.3",
"1.1.0-rc.2",
"1.1.0-rc.1",
"1.1.0-beta.5",
"1.1.0-beta.4",
"1.1.0-beta.3",
"1.1.0-beta.2",
"1.1.0-beta.1",
"0.9.19",
"0.9.18",
"0.9.17",
"0.9.16",
"0.9.15",
"0.9.14",
"0.9.13",
"0.9.12",
"0.9.11",
"0.9.10",
"0.9.9",
"0.9.8",
"0.9.7",
"0.9.6",
"0.9.5",
"0.9.4",
"0.9.3",
"0.9.2",
"0.9.0",
"0.8.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-34082.json"
}
}
],
"modified": "2026-10-28T02:30:39.416757110Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/34xxx/CVE-2024-34082.json",
"https://github.com/getgrav/grav/security/advisories/GHSA-f8v5-jmfh-pr69",
"https://nvd.nist.gov/vuln/detail/CVE-2024-34082",
"https://github.com/getgrav/grav/commit/b6bba9eb99bf8cb55b8fa8d23f18873ca594e348"
],
"provider_metadata": {
"cwe_ids": [
"CWE-269"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/34xxx/CVE-2024-34082.json"
}
},
"related_cves": [
{
"value": "CVE-2024-34082",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 506529,
"published_at": "2024-05-15T16:42:19.075+00:00"
}