【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE

渗透技巧 2年前 (2021) admin
978 0 0

关注公众号回复“漏洞”获取研究环境或工具




引言


最近看到网上有人发表关于BeanValidation JSR 380 EL表达式注入漏洞的分析文章,在历史上爆出的相关漏洞中,比较有名的包括Nexus Repository Manager CVE-2018-16621以及后来的绕过漏洞CVE-2020-10693/CVE-2020-10204等,这几个漏洞网上高质量的分析文章已经很多了,这里再啰嗦一遍意义不大,下面将今年爆出的另一个BeanValidation JSR 380 漏洞分享给大家。


OneDev 是一个国产的类GitLab开源DevOps平台,可以作为GitLab的替代品。在翻阅代码更新时,发现一个BeanValidation JSR 380漏洞信息:


【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE




漏洞分析


OneDev采用BeanValidation方式对HTTP请求的参数进行验证。比如在`io.onedev.server.rest.ProjectResource`中:


【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE


在GET处理方式中存在`@ValidQueryParams`的装饰器,主要用于对参数进行格式检查:


【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE


引入名为`ValidQueryParamsValidator`的验证器,即请求必须通过`ValidQueryParamsValidator`进行格式检查:


【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE


提取请求的参数带入`buildConstraintViolationWithTemplate`,按照JSR 380规范,如果参数符合EL表达式格式,将会对其进行插值导致出现EL表达式解析。构造请求进行调试验证:


【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE


【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE


【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE


【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE


触发了漏洞。调用栈如下:


【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE




修复方式


BeanValidation JSR 380 EL表达式注入漏洞其中一种有效的修复方式是禁止使用EL插值,OneDev官方就是采用的这种方法,补丁对比如下:


【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE


显式注册一个`ParameterMessageInterpolator`参数来覆盖默认的EL插值。




参考


https://securitylab.github.com/advisories/GHSL-2020-020-hibernate-validator/

https://beanvalidation.org/2.0/spec/

https://xz.aliyun.com/t/10693



由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全团队及文章作者不为此承担任何责任。



点关注,不迷路!

【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE

关注公众号回复“漏洞”获取研究环境或工具

原文始发于微信公众号(且听安全):【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE

版权声明:admin 发表于 2021年12月27日 下午4:01。
转载请注明:【经典回顾系列】BeanValidation JSR 380 EL表达式注入漏洞之OneDev Pre-Auth RCE | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...