一、漏洞详情
H2是一个流行的开源Java SQL数据库,它提供了一个轻量级的内存解决方案。
近日披露H2数据库控制台中的远程代码执行漏洞CVE-2021-42392,该漏洞与Apache Log4j RCE漏洞CVE-2021-44228漏洞的根本原因相同,即JNDI远程类加载。JNDI是Java Naming and Directory Interface的缩写,是指为Java应用程序提供命名和目录功能的API,它可以结合LDAP使用API来定位可能需要的特定资源。
由于H2数据库框架中的几个代码路径将未经过滤的攻击者控制的URL传递给javax.naming.Context.lookup函数,导致远程代码库加载(也称Java代码注入),最终造成未经身份验证的远程代码执行。
该漏洞影响H2数据库版本1.1.100(2008-10-14)到2.0.204(2021-12-21),并已在2022年1月5日发布的版本2.0.206中修复。
建议受影响用户做好资产自查以及预防工作,以免遭受黑客攻击。
二、影响范围
1.1.100<=H2 Console<=2.0.204
三、修复建议
目前此漏洞已经修复,建议所有H2数据库用户升级到版本2.0.206,即使不直接使用H2控制台。
下载链接:https://github.com/h2database/h2database/releases/tag/version-2.0.206