Apache Unomi远程命令执行漏洞(CVE-2020-13942)
漏洞详情:
Apache Unomi是一个Java开源客户数据平台,是用来管理客户和访问者的数据,并个性化客户体验。由于Apache Unomi允许远程攻击者使用包含任意类的MVEL和OGNL表达式发送恶意请求,最终可导致攻击者使用Unomi应用程序权限远程执行代码。
影响版本:
Apache Unomi < 1.5.2
漏洞分析:
Unomi依赖于诸如OGNL或MVEL之类的表达式语言在1.5.1之前的版本中,攻击者通过注入可以对Unomi进行RCE的攻击(CVE-2020-11975)。攻击者能够通过发送单个请求在Unomi服务器上执行任意代码和OS命令。该漏洞补丁中引入了SecureFilteringClassLoader函数,该函数依赖allowlist和blocklist检查表达式中使用的类。SecureFilteringClassLoader依赖这样一个不正确的假设:MVEL和OGNL表达式中的每个类都是使用ClassLoader类的loadClass()方法加载的。SecureFilteringClassLoader覆盖了ClassLoader loadClass方法,并引入了allowlist和blocklist检