OWASP 企业安全控制库中存在路径遍历漏洞
编译:代码卫士
OWASP 修复了Enterprise Security API (ESAPI) 中的一个漏洞,如不修复,则可能被滥用于发动路径遍历攻击。
该漏洞涉及 ESAPI 验证器接口,CVSS评分为7.5,可通过应用已修复版本 2.3.0.0 解决。
OWASP ESAPI 提供安全控制库,有助于企业软件开发人员编写出更安全的代码。该技术旨在嵌入(多数是web)应用程序中,作为主动安全措施。尽管易受攻击的组件难以利用,但由于潜在影响巨大,因此建议修复,正如OWASP解释的那样,“Validator.getValidDirectoryPath (String, String, File, boolean) 的默认实现可能不正确地将所测试的输入字符串当作特定父目录的子项,因此,如果攻击可指定代表’input’ 路径的整个字符串,则可能逃避控制流绕过检查。”
OWASP ESAPI 项目的联合负责任 Kevin Wall 表示,“多数使用 ESAPI 的应用程序可能甚至不会使用受影响的方法”,因此该漏洞的潜在影响因应用程序不同而不同。他指出,“和所有的库漏洞一样,难以说明一般应用程序需要暴露到什么程度才能利用库中的漏洞。即使当应用程序中使用了 Validator.getValidDirectoryPath(),仍然无法说明在应用程序本身中是可被利用的。必须具体案例具体分析。”
Wall 指出,在多数用例中,易受攻击的 ESAPI 将和 web 应用防火墙 (WAF) 或入侵检测软件一起使用,因此漏洞的影响得到进一步限制。
Wall 在谈到漏洞的严重程度时表示,“虽然我认为它并非‘高危’级别的漏洞,但根据CVSSv3.1 的评分标准只能这样定级。”
虽然该漏洞不可能遭利用,甚至造成损害的可能性更小,但Wall 认为该漏洞为开发人员提供了经验。
一方面,使用库的应用开发人员应当使用软件成分分析 (SCA) 工具并了解其局限性。Wall 解释称,“某些SCA工具仅寻找直接依赖关系中的漏洞,而不会查找间接依赖中的漏洞。如果你决定不修复,那么就需要深入分析某些库中的漏洞如何影响应用程序以及可以采用哪些缓解控制类型(可能是通过WAF虚拟打补丁)来降低风险。”
该缺陷对于库开发人员而言也具有指导作用,因为它体现了静态应用安全测试 (SAST) 工具的效用。Wall 建议称,“对于库开发人员而言,运行某种SAST工具并查看结果,同时尝试覆盖正确的测试范围,至少在PRs提交时合并前对 ‘gif diffs’ 进行手动代码审计”。
Wall 指出,虽然在开发ESAPI时犯的编程错误导致该缺陷产生,但是这些错误是可理解的错误。他总结称,“我认为ESAPI 掉链子的地方在于,没有具体测试引起我们的注意,这是我们的问题,但我认为几乎所有接触过该代码的人都未意识到当目录的值并非以 ‘/’ 终止时,File.getCanonicalPath() 会做出不同的行为。我认为这有点反直觉。”
奇安信开源卫士率先通过可信开源治理工具评估
2021年API攻击数量激增600%+
最常被利用的三大 API 漏洞:是什么、为什么、如何阻止?
2021 OWASP Top 10 榜单(初稿)发布,头牌易主
https://portswigger.net/daily-swig/path-traversal-flaw-found-in-owasp-enterprise-library-of-security-controls
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。