{"id":"CVE-2026-111898","kind":"vulnerability","aliases":["CVE-2026-111898"],"related":[],"title":"phpMyFAQ: Keycloak login lets attackers take over local accounts","description":"phpMyFAQ 4.2.0-alpha before 4.2.0-beta contains an authentication bypass vulnerability that allows Keycloak users to take over local accounts by matching preferred_username or email. Attackers controlling a Keycloak identity with a colliding username or unverified email can log in through /auth/keycloak/authorize to bind their subject and gain superadmin privileges.","summary":"phpMyFAQ 4.2.0-alpha before 4.2.0-beta matches Keycloak logins to existing local accounts by preferred_username or email without proper verification. An attacker who controls a Keycloak identity with a colliding username or unverified email can log in through /auth/keycloak/authorize and gain superadmin privileges.","severity":"high","cvss":7.7,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["keycloak","package","php","phpmyfaq","self-hosted"],"not_affected_if":["default-config","local-auth-only"],"how_to_check":"- Check the installed phpMyFAQ version in the admin panel or in the release files; affected versions are 4.2.0-alpha up to but not including `4.2.0-beta`.\n- Check whether Keycloak login is enabled for the instance, for example by looking for the `/auth/keycloak/authorize` route in the web server logs.","fix":"- Upgrade phpMyFAQ to `4.2.0-beta` or later.\n- Until then, disable the Keycloak login integration if it is not needed.","status":"open","published_at":"2026-10-17T19:16:31+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","triaged_at":"2026-10-25T03:12:06+00:00","updated_at":"2026-10-25T03:12:06+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T03:12:06Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade phpMyFAQ to `4.2.0-beta` or later.\n- Until then, disable the Keycloak login integration if it is not needed.","reach":"internet","title":"phpMyFAQ: Keycloak login lets attackers take over local accounts","impact":"high","summary":"phpMyFAQ 4.2.0-alpha before 4.2.0-beta matches Keycloak logins to existing local accounts by preferred_username or email without proper verification. An attacker who controls a Keycloak identity with a colliding username or unverified email can log in through /auth/keycloak/authorize and gain superadmin privileges.","category":"package","nicknames":[],"who_cares":["phpmyfaq","php","self-hosted","keycloak"],"confidence":0.7,"needs_auth":"no","worst_case":"Attacker gains superadmin access to the phpMyFAQ instance.","analyst_note":"Confirm the fixed version and whether the advisory names a specific commit or patch; check the NVD entry and the phpMyFAQ release notes for 4.2.0-beta.","how_to_check":"- Check the installed phpMyFAQ version in the admin panel or in the release files; affected versions are 4.2.0-alpha up to but not including `4.2.0-beta`.\n- Check whether Keycloak login is enabled for the instance, for example by looking for the `/auth/keycloak/authorize` route in the web server logs.","needs_analyst":true,"not_affected_if":["default-config","local-auth-only"],"who_is_affected":"Only instances running phpMyFAQ 4.2.0-alpha before 4.2.0-beta that have the Keycloak single sign-on integration enabled are exposed. Instances that use local logins only, or run a later release, can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000658,"input_tokens":3360,"output_tokens":644,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-111898':12A,15A '-2026':11A,14A '/auth/keycloak/authorize':62B,109C '4.2.0':24B,27B,68C,71C 'account':9A,35B,86C 'allow':79C 'alpha':25B,69C 'attack':5A,45B,93C 'authent':75C 'beta':28B,72C 'bind':111C 'bypass':76C 'collid':53B,100C 'contain':73C 'control':47B,94C 'cve':10A,13A 'email':40B,57B,92C,104C 'exist':33B 'gain':64B,115C 'host':22B 'ident':50B,97C 'keycloak':2A,16B,30B,49B,80C,96C 'let':4A 'local':8A,34B,85C 'log':59B,106C 'login':3A,31B 'match':29B,88C 'packag':17B 'php':18B 'phpmyfaq':1A,19B,23B,67C 'prefer':37B,89C 'privileg':66B,117C 'proper':42B 'self':21B 'self-host':20B 'subject':113C 'superadmin':65B,116C 'take':6A,83C 'unverifi':56B,103C 'user':81C 'usernam':38B,54B,90C,101C 'verif':43B 'vulner':77C 'without':41B","nicknames":[],"mitigations":[],"who_affected":"Only instances running phpMyFAQ 4.2.0-alpha before 4.2.0-beta that have the Keycloak single sign-on integration enabled are exposed. Instances that use local logins only, or run a later release, can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-17T19:16:31+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111898","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111898","severity":null,"published_at":"2026-10-17T19:16:31+00:00","modified_at":"2026-10-18T12:17:10+00:00","first_seen_at":"2026-10-23T21:57:14+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}