CVE-2025-69017CVE-2025-69017是WordPress插件RestroPress中的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞影响RestroPress从n/a版本至3.2.8.6及以下所有版本。RestroPress是一款流行的WordPress餐厅订餐系统插件,允许餐厅业主管理在线订餐、食物配送和支付处理等功能。由于该插件在处理用户输入时缺乏充分的输入验证和输出编码,攻击者可以通过在订单备注、顾客姓名或其他输入字段中注入恶意JavaScript代码。当管理员或其他用户在后台查看订单信息时,这些恶意脚本将自动执行,可能导致会话劫持、敏感信息窃取、管理员权限滥用等严重安全后果。存储型XSS相较于反射型XSS更为危险,因为恶意代码被永久存储在服务器端,所有访问相关数据的用户都会受到攻击影响。在WordPress生态系统中,此类插件漏洞可能被大规模利用,对使用该插件的数千个餐厅网站造成安全威胁。
该存储型XSS漏洞源于RestroPress插件对用户提交数据的不当处理。在订单处理流程中,插件接收并存储用户输入的各种字段,包括顾客姓名、联系电话、送餐地址、订单备注等。问题在于这些输入数据在被存储到数据库之前缺乏充分的输入验证和清理,攻击者可以在输入字段中插入包含恶意JavaScript代码的字符串。攻击者可以利用Burp Suite等代理工具拦截订单提交请求,在订单备注或其他文本字段中注入类似<script>alert(document.cookie)</script>的恶意代码。由于插件未对这些数据进行HTML实体编码就直接存储到数据库,当管理员在WordPress后台查看订单详情页面时,浏览器会将其解析为可执行代码并执行。攻击者可以利用此漏洞窃取管理员的认证Cookie,通过JavaScript实现横向移动访问其他管理功能,甚至在某些配置下实现对网站的完全控制。漏洞利用的关键在于插件的订单显示模板未使用texturize()或esc_html()等WordPress安全函数对动态内容进行转义。