{"id":"CVE-2026-109312","title":"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","summary":"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 passwor…","severity":"high","cvss":8.1,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","cwe":["CWE-287"],"published":"2026-10-12","updated":"2026-10-12","sourceUpdated":"2026-10-12T17:17:25.890","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-109312","references":[{"url":"https://github.com/getgrav/grav/security/advisories/GHSA-5rph-jqcf-2x36","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/grav-login-plugin-2.7.0-before-3.9.9-2fa-bypass-via-profile-update-form","label":"disclosure@vulncheck.com"}],"tags":["nvd"],"ingestedAt":"2026-10-12T18:00:08.198Z","slug":"CVE-2026-109312","body":"## Overview\n\nGrav 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":45,"depthScoreParts":{"impact":44.6,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}