Description
Grav Login plugin 2.7.0 before 3.9.9 contains an authentication bypass in processUserProfile(), which checks that the session user exists but not that a pending front-end 2FA session is fully authorized. Attackers with a victim's password who can publish a page form without an access rule can invoke update_user before completing 2FA to disable twofa_enabled and take over the account.
Published: 2026-10-12
Score: 8.6 High
EPSS: < 1% Very Low
KEV: No
Impact: Authentication Bypass
Action: Apply Patch
AI Analysis

Impact

Grav Login plugin versions 2.7.0 through 3.9.8 contain an authentication bypass in the processUserProfile() routine. The code verifies that a user session exists but fails to confirm that any pending front‑end two‑factor authentication session has been fully authorized. This flaw allows an attacker who knows the victim’s password and can submit a page form without any access restrictions to invoke update_user before completing 2FA, disable the victim’s two‑factor setting, and take over the account.

Affected Systems

The vulnerability affects the Grav Login plugin provided by getgrav. All Grav installations that use the plugin between version 2.7.0 (inclusive) and 3.9.9 (exclusive) are potentially exposed.

Risk and Exploitability

The CVSS score of 8.6 indicates high severity. No EPSS data is available, and the vulnerability is not listed in the CISA KEV catalogue, suggesting no known public exploitation yet. The likely attack vector is a web‑based form submission that an attacker can manipulate while holding the victim’s password. If the attacker can publish a form with no access rule, they can exploit the flaw before two‑factor authentication is completed, disabling two‑factor and assuming control of the account.

Generated by OpenCVE AI on October 12, 2026 at 19:36 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Grav Login plugin to version 3.9.9 or later
  • Restrict page publish forms so that only authorized roles can invoke profile updates
  • Until a patch is applied, temporarily disable the profile update interface or enforce two‑factor checks before allowing changes to user settings

Generated by OpenCVE AI on October 12, 2026 at 19:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 15 Oct 2026 03:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 13 Oct 2026 07:45:00 +0000

Type Values Removed Values Added
First Time appeared Getgrav
Getgrav grav-plugin-login
Vendors & Products Getgrav
Getgrav grav-plugin-login

Mon, 12 Oct 2026 16:30:00 +0000

Type Values Removed Values Added
Description Grav Login plugin 2.7.0 before 3.9.9 contains an authentication bypass in processUserProfile(), which checks that the session user exists but not that a pending front-end 2FA session is fully authorized. Attackers with a victim's password who can publish a page form without an access rule can invoke update_user before completing 2FA to disable twofa_enabled and take over the account.
Title Grav Login Plugin 2.7.0 before 3.9.9 2FA Bypass via Profile Update Form
Weaknesses CWE-287
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'}

cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Getgrav Grav-plugin-login
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-15T02:43:42.835Z

Reserved: 2026-10-12T14:14:27.021Z

Link: CVE-2026-109312

cve-icon Vulnrichment

Updated: 2026-10-15T02:43:38.623Z

cve-icon NVD

Status : Received

Published: 2026-10-12T17:17:25.890

Modified: 2026-10-15T03:17:08.890

Link: CVE-2026-109312

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-13T07:26:38Z

Weaknesses