CVE-2025-13135CVE-2025-13135是WordPress平台HotelRunner Booking Widget插件中的一个高危安全漏洞。该插件是一款广泛应用于酒店预订管理系统的WordPress组件,为网站提供酒店预订小工具功能。漏洞存在于插件的hotelrunner短代码处理逻辑中,由于对用户提供的属性参数缺乏充分的输入 sanitization(消毒)和输出转义(output escaping),导致攻击者可以在页面中注入并存储任意Web脚本代码。
此漏洞被评定为存储型XSS(Stored Cross-Site Scripting),这意味着恶意脚本会被永久存储在服务器端数据库中,任何访问包含恶意代码页面的用户都会自动执行这些脚本。攻击者利用此漏洞可以窃取用户会话Cookie、劫持用户账户、进行钓鱼攻击或传播恶意软件。
根据CVSS 3.1评分系统,该漏洞获得6.4分(中等严重程度),攻击向量为网络(AV:N),攻击复杂度低(AC:L),需要低权限(PR:L),无需用户交互(UI:N)。受影响版本为5.2.4及以下所有版本。建议受影响的用户立即升级到最新版本以修复此安全漏洞。
HotelRunner Booking Widget插件提供了[hotelrunner]短代码功能,允许用户在WordPress页面或文章中嵌入酒店预订小工具。然而,该插件在处理短代码属性时存在严重的安全缺陷。
漏洞根源在于两个方面:首先是输入验证不足,插件未对hotelrunner短代码的属性参数进行严格的输入检查和过滤,允许攻击者注入包含JavaScript代码的特殊字符和标签。其次是输出转义缺失,插件在将用户提供的属性值输出到HTML页面时,没有进行适当的HTML实体编码或转义处理,导致注入的恶意脚本能够被浏览器解析执行。
攻击者只需拥有WordPress网站的贡献者(Contributor)或更高权限账户,即可利用此漏洞。攻击者可以在文章或页面中插入恶意构造的hotelrunner短代码,例如:[hotelrunner hotel_id='"><script>alert(document.cookie)</script>'],当其他用户访问该页面时,存储的JavaScript代码将在其浏览器上下文中执行。
由于是存储型XSS,恶意脚本会持久存在于数据库中,每次页面加载时都会执行,这使得攻击影响范围更广、更难检测和清除。攻击者可能利用此漏洞窃取认证凭据、进行横向移动或对网站访问者实施进一步攻击。