CVE-2026-39346OrangeHRM是一款广泛使用的开源人力资源管理系统。在5.0至5.8版本中,系统存在一处访问控制绕过漏洞。由于未正确处理URL编码的请求路径,经过身份验证的攻击者可以绕过管理员对特定模块的禁用设置。这意味着即使管理员禁用了某些敏感功能模块(如维护、配置或特定HR模块),低权限用户依然可以通过构造特定的URL编码请求直接访问这些功能。该漏洞可能导致敏感信息泄露或未授权的系统操作,严重影响了系统的权限隔离机制。官方已在5.8.1版本中修复了此问题。
该漏洞的核心在于应用程序在处理路由和权限验证时的逻辑缺陷。OrangeHRM在检查模块是否启用或用户是否有权访问时,可能依赖于原始路径字符串匹配,而未对URL编码后的变体进行统一的规范化处理。攻击者利用这一特性,将请求路径中的关键字符(如路径分隔符/)进行URL编码(例如%2F)。当请求到达服务器时,如果安全检查发生在路径解码之前,或者检查逻辑与路由解析逻辑对编码的处理不一致,安全过滤器将无法识别出该请求指向的是被禁用的模块。随后,后端路由器可能对路径进行解码并成功路由到目标控制器,从而导致访问控制失效。这种绕过方式不需要高权限,仅需普通用户登录即可执行。