{"id":"CVE-2026-111739","kind":"vulnerability","aliases":["CVE-2026-111739"],"related":[],"title":"WordPress 2FA plugins: attacker's own code can unlock a victim's session","description":"The Two Factor Authentication WordPress plugin before 1.17.0, All-In-One Security (AIOS)  WordPress plugin before 5.5.0 do not bind the account whose two-factor code is verified to the account being authenticated, allowing an attacker who knows a victim's password and holds their own two-factor-enabled account to satisfy the victim's second-factor check with their own code and obtain the victim's session.","summary":"The Two Factor Authentication and All-In-One Security WordPress plugins do not check that the two-factor code belongs to the account being logged into. An attacker who knows a victim's password can pass the second factor with their own account's code and take over the victim's session.","severity":"high","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","two-factor-auth","wordpress"],"not_affected_if":["managed-hosting-with-other-2fa","no-2fa-plugin"],"how_to_check":"- Check the installed version of the Two Factor Authentication plugin; affected if below `1.17.0`.\n- Check the installed version of the All-In-One Security (AIOS) plugin; affected if below `5.5.0`.","fix":null,"status":"open","published_at":"2026-10-29T06:17:18+00:00","first_seen_at":"2026-10-29T06:53:13+00:00","triaged_at":"2026-10-29T06:54:51+00:00","updated_at":"2026-10-29T06:54:51+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-29T06:54:51Z","model":"claude-haiku-5-5","output":{"fix":"- Two Factor Authentication plugin: move to `1.17.0` or later.\n- All-In-One Security (AIOS) plugin: move to `5.5.0` or later.","reach":"internet","title":"WordPress 2FA plugins: attacker's own code can unlock a victim's session","impact":"high","summary":"The Two Factor Authentication and All-In-One Security WordPress plugins do not check that the two-factor code belongs to the account being logged into. An attacker who knows a victim's password can pass the second factor with their own account's code and take over the victim's session.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","self-hosted","two-factor-auth"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"attacker takes over victim's WordPress session after password theft","analyst_note":"","how_to_check":"- Check the installed version of the Two Factor Authentication plugin; affected if below `1.17.0`.\n- Check the installed version of the All-In-One Security (AIOS) plugin; affected if below `5.5.0`.\n- unknown for other checks: the sources do not say.","plain_action":"","needs_analyst":false,"not_affected_if":["no-2fa-plugin","managed-hosting-with-other-2fa"],"who_is_affected":"Sites running the Two Factor Authentication plugin before `1.17.0` or the All-In-One Security plugin before `5.5.0` with two-factor login enabled. The attacker needs a valid password for the victim and their own two-factor-enabled account on the same site. Sites that do not use these plugins for two-factor login are not affected.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000719,"input_tokens":4163,"output_tokens":606,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-111739':16A,19A '-2026':15A,18A '1.17.0':90C '2fa':2A '5.5.0':100C 'account':53B,73B,105C,115C,135C 'aio':96C 'all-in-on':34B,91C 'allow':118C 'attack':4A,58B,120C 'auth':27B 'authent':32B,86C,117C 'belong':50B 'bind':103C 'check':43B,144C 'code':7A,49B,75B,110C,148C 'cve':14A,17A 'enabl':134C 'factor':26B,31B,48B,69B,85C,109C,133C,143C 'hold':128C 'host':23B 'know':60B,122C 'log':55B 'obtain':150C 'one':37B,94C 'packag':20B 'pass':66B 'password':64B,126C 'plugin':3A,40B,88C,98C 'satisfi':137C 'second':68B,142C 'second-factor':141C 'secur':38B,95C 'self':22B 'self-host':21B 'session':13A,82B,154C 'take':77B 'two':25B,30B,47B,84C,108C,132C 'two-factor':46B,107C 'two-factor-auth':24B 'two-factor-en':131C 'unlock':9A 'verifi':112C 'victim':11A,62B,80B,124C,139C,152C 'whose':106C 'wordpress':1A,28B,39B,87C,97C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Two Factor Authentication plugin before `1.17.0` or the All-In-One Security plugin before `5.5.0` with two-factor login enabled. The attacker needs a valid password for the victim and their own two-factor-enabled account on the same site. Sites that do not use these plugins for two-factor login are not affected.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"first_public_at":"2026-10-29T06:17:18+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111739","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111739","severity":null,"published_at":"2026-10-29T06:17:18+00:00","modified_at":"2026-10-29T06:17:18+00:00","first_seen_at":"2026-10-29T06:53:13+00:00","fetched_at":"2026-10-29T06:53:13+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"}