{"id":"CVE-2026-103898","kind":"vulnerability","aliases":["CVE-2026-103898"],"related":[],"title":"WordPress social login plugin lets attackers log in as any user","description":"The Wp Social Login and Register Social Counter plugin for WordPress is vulnerable to Authentication Bypass in all versions up to, and including, 3.2.2. This is due to the social login REST callback registered at `/wp-json/wslu-social-login/type/{provider}/` with `permission_callback => __return_true` locating an existing WordPress account solely by the email string returned from the OAuth provider and calling `wp_set_auth_cookie()` without a password check, while the only verification guard — `!empty($getProfile->emailVerified)` in `inc/admin-create-user.php` — is a no-op for the bundled Hybridauth Facebook and Twitter adapters, both of which assign the raw email string rather than a boolean verified flag to `emailVerified`. This makes it possible for unauthenticated attackers to obtain a fully authenticated session as any existing WordPress user, including Administrators, whose registered email address can be presented through a configured Facebook or Twitter login on the target site. Exploitation requires only that the attacker control an OAuth account whose provider-returned email matches the target account's registered WordPress email address; no local credentials, nonce, or prior foothold is needed.","summary":"The Wp Social Login and Register Social Counter WordPress plugin up to version 3.2.2 trusts the email address returned by a Facebook or Twitter login without verifying it. An attacker who controls an OAuth account with the same email as a WordPress user, including an Administrator, gets a fully authenticated session as that user.","severity":"high","cvss":8.1,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"wp-social","fixed":["3.2.3"],"affected":"<= 3.2.2","ecosystem":"wordpress"}],"ecosystems":[],"tags":["package","self-hosted","wordpress","wordpress-plugin"],"not_affected_if":["plugin-not-installed","social-login-not-configured"],"how_to_check":"In WordPress admin > Plugins, find 'Wp Social Login and Register Social Counter' (folder wp-social); versions <= 3.2.2 are affected. Exposure needs Facebook or Twitter login configured under the Wp Social login settings. Also check whether /wp-json/wslu-social-login/type/facebook/ exists on the site.","fix":"Update the Wp Social Login and Register Social Counter plugin (slug wp-social) to 3.2.3 or later.","status":"open","published_at":"2026-10-31T08:16:47+00:00","first_seen_at":"2026-10-31T08:34:27+00:00","triaged_at":"2026-10-31T08:35:05+00:00","updated_at":"2026-10-31T08:36:16+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-31T08:35:05Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"WordPress social login plugin lets attackers log in as any user","impact":"high","summary":"The Wp Social Login and Register Social Counter WordPress plugin up to version 3.2.2 trusts the email address returned by a Facebook or Twitter login without verifying it. An attacker who controls an OAuth account with the same email as a WordPress user, including an Administrator, gets a fully authenticated session as that user.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","wordpress-plugin","self-hosted"],"confidence":0.8,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker gets an authenticated session as any user, including administrators","analyst_note":"Confirm the fixed version and whether a patch exists; the sources give no fix version. Check NVD/plugin changelog for a release after 3.2.2.","how_to_check":"- Check the installed version of the plugin `wp-social-login-and-register-social-counter` (or the plugin folder name) in the WordPress admin Plugins list; versions up to and including `3.2.2` are listed as affected.\n- Check whether Facebook or Twitter social login is configured on the site in the plugin settings.","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","social-login-not-configured"],"who_is_affected":"Sites running the plugin at version 3.2.2 or earlier with Facebook or Twitter social login configured are exposed, since the login callback accepts any OAuth email that matches a WordPress account. Sites without the plugin, or with it disabled or without those providers configured, are not affected by this description; the sources do not say whether other providers are affected.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000757,"input_tokens":4418,"output_tokens":630,"severity_before":"high"},"analyst_status":"done","analyst_note":"Confirm the fixed version and whether a patch exists; the sources give no fix version. Check NVD/plugin changelog for a release after 3.2.2.","search":"'-103898':14A,17A '-2026':13A,16A '/wp-json/wslu-social-login/type':118C '3.2.2':42B,106C 'account':63B,129C,236C,245C 'adapt':172C 'address':46B,212C,250C 'administr':74B,208C 'assign':176C 'attack':6A,58B,195C,232C 'auth':144C 'authent':78B,97C,200C 'boolean':184C 'bundl':167C 'bypass':98C 'call':141C 'callback':115C,122C 'check':149C 'configur':218C 'control':60B,233C 'cooki':145C 'counter':36B,90C 'credenti':253C 'cve':12A,15A 'due':109C 'email':45B,67B,133C,179C,211C,241C,249C 'emailverifi':157C,188C 'empti':155C 'exist':127C,204C 'exploit':227C 'facebook':50B,169C,219C 'flag':186C 'foothold':257C 'fulli':77B,199C 'get':75B 'getprofil':156C 'guard':154C 'host':24B 'hybridauth':168C 'inc/admin-create-user.php':159C 'includ':72B,105C,207C 'let':5A 'local':252C 'locat':125C 'log':7A 'login':3A,32B,53B,86C,113C,222C 'make':190C 'match':242C 'need':259C 'no-op':162C 'nonc':254C 'oauth':62B,138C,235C 'obtain':197C 'op':164C 'packag':21B 'password':148C 'permiss':121C 'plugin':4A,28B,38B,91C 'possibl':192C 'present':215C 'prior':256C 'provid':119C,139C,239C 'provider-return':238C 'rather':181C 'raw':178C 'regist':34B,88C,116C,210C,247C 'requir':228C 'rest':114C 'return':47B,123C,135C,240C 'self':23B 'self-host':22B 'session':79B,201C 'set':143C 'site':226C 'social':2A,20A,31B,35B,85C,89C,112C 'sole':130C 'string':134C,180C 'target':225C,244C 'true':124C 'trust':43B 'twitter':52B,171C,221C 'unauthent':194C 'user':11A,71B,82B,206C 'verif':153C 'verifi':55B,185C 'version':41B,101C 'vulner':95C 'whose':209C,237C 'without':54B,146C 'wordpress':1A,25B,27B,37B,70B,93C,128C,205C,248C 'wordpress-plugin':26B 'wp':19A,30B,84C,142C 'wp-social':18A","nicknames":[],"mitigations":[],"who_affected":"Sites running the plugin at version 3.2.2 or earlier with Facebook or Twitter social login configured are exposed, since the login callback accepts any OAuth email that matches a WordPress account. Sites without the plugin, or with it disabled or without those providers configured, are not affected by this description; the sources do not say whether other providers are affected.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"first_public_at":"2026-10-31T08:16:47+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-103898","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-103898","severity":null,"published_at":"2026-10-31T08:16:47+00:00","modified_at":"2026-10-31T08:16:47+00:00","first_seen_at":"2026-10-31T08:34:27+00:00","fetched_at":"2026-10-31T08:34:27+00:00","note":null},{"source":"analyst","external_id":"CVE-2026-103898:1229","url":null,"severity":null,"published_at":"2026-10-31T08:36:16+00:00","modified_at":"2026-10-31T08:36:16+00:00","first_seen_at":"2026-10-31T08:36:16+00:00","fetched_at":"2026-10-31T08:36:16+00:00","note":"Fix 3.2.3 per wordpress.org listing (current version 3.2.3) and PluginCheck (patched in 3.2.3); I could not read the plugin changelog or Wordfence advisory, so the 3.2.3 fix claim rests on those, not a maintainer changelog entry. No exploitation or PoC found. Nothing marked verified."}],"documents":[{"id":30702,"url":"https://wordpress.org/plugins/wp-social/advanced/","title":"Wp Social plugin page (current version 3.2.3)","kind":"release","source":"analyst","publisher":null,"text":null,"published_at":null,"relation":"fix","confidence":null,"note":null},{"id":30703,"url":"https://plugincheck.io/plugin/wp-social","title":"PluginCheck: Wp Social security history (patched in 3.2.3)","kind":"other","source":"analyst","publisher":null,"text":null,"published_at":null,"relation":"mentions","confidence":null,"note":null}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}