CVE-2026-72822: Missing Authentication for Critical Function in getgrav grav
The getgrav/grav-plugin-api Composer package before 1.0.13 (affected <= 1.0.12) fails to enforce API key scope caps on the disable2fa endpoint. Unlike the sibling generate2fa endpoint, disable2fa authorizes the admin (non-self) path solely via ACL reads (isSuperAdmin/hasPermission) and never invokes requirePermission(), so the api_key_scopes cap is never applied. As a result, a holder of a narrow-scope API key on a super account, or a non-super account whose ACL includes api.users.write, can force-disable two-factor authentication on any non-super target account via POST /api/v1/users/{user}/2fa/disable without providing a TOTP code, facilitating account takeover.
AI Analysis
Technical Summary
The getgrav/grav-plugin-api package before version 1.0.13 fails to enforce API key scope restrictions on the disable2fa endpoint. While the generate2fa endpoint properly requires permission checks, disable2fa authorizes requests based only on ACL reads (isSuperAdmin/hasPermission) and does not invoke requirePermission(), thus bypassing api_key_scopes enforcement. Consequently, an attacker holding a narrow-scope API key on a super account or a non-super account with api.users.write permission can disable 2FA on any non-super user via a POST request to /api/v1/users/{user}/2fa/disable without needing a TOTP code, facilitating account takeover.
Potential Impact
An attacker with limited API key scope but sufficient ACL permissions can disable two-factor authentication on targeted non-super user accounts without providing a TOTP code. This bypass of 2FA protections significantly increases the risk of account takeover, compromising user accounts and potentially leading to unauthorized access and control within the affected Grav environment.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official fix or patch link is provided at this time. Until a fix is available, restrict API key permissions to trusted users only and monitor for suspicious API activity related to 2FA disablement endpoints.
CVE-2026-72822: Missing Authentication for Critical Function in getgrav grav
Description
The getgrav/grav-plugin-api Composer package before 1.0.13 (affected <= 1.0.12) fails to enforce API key scope caps on the disable2fa endpoint. Unlike the sibling generate2fa endpoint, disable2fa authorizes the admin (non-self) path solely via ACL reads (isSuperAdmin/hasPermission) and never invokes requirePermission(), so the api_key_scopes cap is never applied. As a result, a holder of a narrow-scope API key on a super account, or a non-super account whose ACL includes api.users.write, can force-disable two-factor authentication on any non-super target account via POST /api/v1/users/{user}/2fa/disable without providing a TOTP code, facilitating account takeover.
CVSS v4.0
Score 9.3critical
Affected software
pkg:composer/getgrav/grav-plugin-apiRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The getgrav/grav-plugin-api package before version 1.0.13 fails to enforce API key scope restrictions on the disable2fa endpoint. While the generate2fa endpoint properly requires permission checks, disable2fa authorizes requests based only on ACL reads (isSuperAdmin/hasPermission) and does not invoke requirePermission(), thus bypassing api_key_scopes enforcement. Consequently, an attacker holding a narrow-scope API key on a super account or a non-super account with api.users.write permission can disable 2FA on any non-super user via a POST request to /api/v1/users/{user}/2fa/disable without needing a TOTP code, facilitating account takeover.
Potential Impact
An attacker with limited API key scope but sufficient ACL permissions can disable two-factor authentication on targeted non-super user accounts without providing a TOTP code. This bypass of 2FA protections significantly increases the risk of account takeover, compromising user accounts and potentially leading to unauthorized access and control within the affected Grav environment.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official fix or patch link is provided at this time. Until a fix is available, restrict API key permissions to trusted users only and monitor for suspicious API activity related to 2FA disablement endpoints.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- VulnCheck
- Date Reserved
- 2026-08-10T15:12:59.508Z
- Cvss Version
- 4.0
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a7f0284bf8831d539fec84c
Added to database: 08/14/2026, 11:56:52 UTC
Last enriched: 08/14/2026, 12:12:57 UTC
Last updated: 08/14/2026, 21:46:14 UTC
Views: 8
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.