CVE-2026-2559CVE-2026-2559是WordPress Post SMTP插件中的一个高危安全漏洞,存在于所有版本直至3.8.0。该漏洞源于`handle_office365_oauth_redirect()`函数在挂钩到`admin_init`时缺少必要的权限验证和nonce检查。由于没有`current_user_can()`验证,任何具有Subscriber级别及以上权限的认证用户都可以触发该函数。攻击者可以通过构造恶意URL,覆盖目标站点的Office 365 OAuth邮件配置,包括访问令牌、刷新令牌和用户邮箱地址。这将导致管理员在后续配置Microsoft365 SMTP(仅Pro版本可用)时,误认为攻击者控制的Azure应用程序是自己合法的应用,从而将插件连接到攻击者的账户。攻击成功后,攻击者可以窃取所有通过该插件发送的邮件内容,严重威胁通信安全。
漏洞存在于Post SMTP插件的Postman/Wizard/NewWizard.php文件中。该插件的`handle_office365_oauth_redirect()`函数直接挂钩到WordPress的`admin_init`动作钩子,但未执行任何权限检查。正常的安全实践要求在处理敏感操作前应调用`current_user_can()`进行权限验证,并使用`wp_verify_nonce()`验证请求的合法性。攻击者只需构造类似`/wp-admin/admin-post.php?action=post_smtp_office365_oauth_redirect&code=xxx&state=xxx`的URL即可触发配置覆盖。函数在第104行和第2109行的实现中,直接将OAuth回调参数存储到数据库的`s_post_smtp_oauth2_token_data`选项中,覆盖原有的合法配置。攻击者需要预先注册一个Azure AD应用程序,获取client_id和client_secret,然后利用该漏洞将受害者站点重定向到其控制的回调URL,骗取管理员信任后完成OAuth授权流程。