Grav Admin Plugin — IDOR Privilege Escalation via saveUser()
grav-plugin-admin is an HTML user interface that provides a way to configure Grav and create and modify pages. In 1.10.52 and earlier, an authenticated attacker with admin.users permission can change the password of any user account, including the super administrator, by sending a direct POST request to /admin/user/{username}?task=save with data[password] because saveUser authorizes the caller's user-management permission but does not verify whether the caller may edit the target user. This issue is expected to be fixed in version 1.10.53.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-59190
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 07:46 UTC · Revision 1
Source evidence
Grav Admin Plugin — IDOR Privilege Escalation via saveUser()
core-osv · Original sourcePublished 10 Jul 2026, 16:33 UTC
grav-plugin-admin is an HTML user interface that provides a way to configure Grav and create and modify pages. In 1.10.52 and earlier, an authenticated attacker with admin.users permission can change the password of any user account, including the super administrator, by sending a direct POST request to /admin/user/{username}?task=save with data[password] because saveUser authorizes the caller's user-management permission but does not verify whether the caller may edit the target user. This issue is expected to be fixed in version 1.10.53.
osv:CVE-2026-59190
Complete source record
{
"id": "5a712f18e1fc7c98970a714b9365729c2e3acb29ee289067e420ba7d252f071c",
"url": "https://osv.dev/vulnerability/CVE-2026-59190",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Grav Admin Plugin — IDOR Privilege Escalation via saveUser()",
"summary": "grav-plugin-admin is an HTML user interface that provides a way to configure Grav and create and modify pages. In 1.10.52 and earlier, an authenticated attacker with admin.users permission can change the password of any user account, including the super administrator, by sending a direct POST request to /admin/user/{username}?task=save with data[password] because saveUser authorizes the caller's user-management permission but does not verify whether the caller may edit the target user. This issue is expected to be fixed in version 1.10.53.",
"evidence": "osv:CVE-2026-59190",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-59190",
"aliases": [
"CVE-2026-59190",
"GHSA-p97c-g455-q447"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/getgrav/grav-plugin-admin",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "88f7ce8e50324472f492965caa42fb709a4f791a"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "1.10.52"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "88f7ce8e50324472f492965caa42fb709a4f791a"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"1.10.49.1",
"1.10.49",
"1.10.48",
"1.10.47",
"1.10.46",
"1.10.45",
"1.10.44",
"1.10.43",
"1.10.42",
"1.10.41.2",
"1.10.41.1",
"1.10.41",
"1.10.40",
"1.10.39",
"1.10.38",
"1.10.37.1",
"1.10.37",
"1.10.36",
"1.10.35",
"1.10.34",
"1.10.33.1",
"1.10.33",
"1.10.32",
"1.10.31",
"1.10.30.2",
"1.10.30.1",
"1.10.30",
"1.10.29",
"1.10.28",
"1.10.27",
"1.10.26.1",
"1.10.26",
"1.10.25",
"1.10.24",
"1.10.23",
"1.10.22",
"1.10.21",
"1.10.20",
"1.10.19",
"1.10.18",
"1.10.17",
"1.10.16",
"1.10.15",
"1.10.14",
"1.10.13",
"1.10.12",
"1.10.10",
"1.10.9",
"1.10.8",
"1.10.7",
"1.10.6",
"1.10.5",
"1.10.4",
"1.10.3",
"1.10.2",
"1.10.1",
"1.10.0",
"1.9.19",
"1.9.18",
"1.9.17",
"1.9.16",
"1.9.15",
"1.9.14",
"1.9.13",
"1.9.12",
"1.9.10",
"1.9.9",
"1.9.8",
"1.9.7",
"1.9.6",
"1.9.5",
"1.9.4",
"1.9.3",
"1.9.2",
"1.9.1",
"1.9.0",
"1.8.20",
"1.8.19",
"1.8.18",
"1.8.17",
"1.8.16",
"1.8.15",
"1.8.14",
"1.8.13",
"1.8.12",
"1.8.11",
"1.8.10",
"1.8.9",
"1.8.8",
"1.8.7",
"1.8.6",
"1.8.5",
"1.8.4",
"1.8.3",
"1.8.2",
"1.8.1",
"1.8.0",
"1.7.4",
"1.7.3",
"1.7.2",
"1.7.1",
"1.7.0",
"1.6.7",
"1.6.6",
"1.6.5",
"1.6.4",
"1.6.3",
"1.6.2",
"1.6.1",
"1.6.0",
"1.5.2",
"1.5.1",
"1.5.0",
"1.4.2",
"1.4.1",
"1.4.0",
"1.3.3",
"1.3.2",
"1.3.1",
"1.3.0",
"1.2.14",
"1.2.13",
"1.2.12",
"1.2.5-rc.4",
"1.2.5-rc.3",
"1.2.5-rc.2",
"1.2.5-rc.1",
"1.2.0-rc.2",
"1.2.0-rc.1",
"1.1.0-rc.4",
"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"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59190.json"
}
}
],
"modified": "2026-10-28T02:30:26.797945111Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59190.json",
"https://github.com/getgrav/grav/security/advisories/GHSA-p97c-g455-q447",
"https://nvd.nist.gov/vuln/detail/CVE-2026-59190",
"https://github.com/getgrav/grav-plugin-admin/commit/88f7ce8e50324472f492965caa42fb709a4f791a"
],
"provider_metadata": {
"cwe_ids": [
"CWE-639"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59190.json"
}
},
"related_cves": [
{
"value": "CVE-2026-59190",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 493514,
"published_at": "2026-07-10T16:33:47.077+00:00"
}