{"id":"CVE-2026-109321","published":"2026-10-12T17:17:27.247","lastModified":"2026-10-15T15:12:54.040","description":"Grav Login OAuth plugin (grav-plugin-login-oauth) before 1.4.3 provisions OAuth accounts as ordinary Grav users with a deterministic <provider>.<id> username and an unsalted MD5 hash of the provider identifier as the password, without disabling password login. Unauthenticated remote attackers who learn or guess a provider identifier can reproduce these credentials and log in, gaining administrative control of privileged accounts.","cvssScore":9.1,"cvssSeverity":"CRITICAL","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","cwes":["CWE-1391"],"vendors":[],"products":[],"references":[{"url":"https://github.com/getgrav/grav/security/advisories/GHSA-mj8v-hvf6-73gm","tags":[]},{"url":"https://www.vulncheck.com/advisories/grav-login-oauth-plugin-before-1.4.3-predictable-local-credentials-authentication-bypass","tags":[]}],"exploitRefs":[{"url":"https://github.com/getgrav/grav/security/advisories/GHSA-mj8v-hvf6-73gm","tags":[]}],"hasPoc":true,"ai":{"summary":"The Grav Login OAuth plugin has a critical flaw where OAuth accounts are created with predictable usernames and unsalted MD5 passwords, allowing unauthenticated attackers to gain administrative access by simply knowing or guessing a provider identifier.","exploitability":"Exploitation is straightforward requiring only knowledge of a provider identifier, with no authentication required to create the vulnerable accounts.","blast_radius":"The vulnerability could impact all Grav installations using the OAuth plugin version 1.4.2 or earlier, potentially compromising administrative access across multiple user accounts.","remediation":"Upgrade to grav-plugin-login-oauth version 1.4.3 or later to fix the credential provisioning issue.","detection":"No reliable host or network indicator is derivable from the published description.","tags":["oauth","authentication","privilege-escalation"],"model":"garnet-coder","analyzedAt":"2026-10-13T08:49:56.711Z"}}