开发人员解决了不受信任的输入问题的弊端

安全研究人员发现了HyperSQL数据库中的严重脆弱性

安全研究人员发现了HyperSQL数据库(HSQLDB)的严重脆弱性远程代码执行(RCE)风险。

HSQLDB提供了爪哇基于基于SQL关系数据库系统。该技术是第二个最受欢迎的嵌入式SQL数据库,迄今为止下载量为1亿个,用于开发,测试和部署数据库应用程序。

HSQLDB超过3,120个Maven软件包使用包括Libreoffice,Jboss,Log4J,Hibernate和Spring-Boot以及各种企业软件包。

解析问题

代码情报的安全研究人员发现RCE漏洞(被跟踪为CVE-2022-41853并在进行一系列模糊测试后,以接近最大的CVSS严重程度得分为9.8)。

更确切地说,他们发现二进制和文本格式数据的解析过程java.sql.Statementjava.sql.preparedstatement该技术的组件存在缺陷。

该软件的所有版本都符合HSQLDB版本2.7.0版本易受伤害。Code Intelligence与HSQLDB的开发商HSQL开发小组联系,后者迅速做出了响应,通过将修复程序和解决方法汇总在一起,以帮助维护先前的版本。


赶上最新的安全开发新闻和分析


HSQLDB尚未回应来自每日swbeplay2018官网ig但是,来自代码智能的安全研究人员已经确认了一个补丁程序正在管中。

Code Intelligence说:“该问题已经在上游固定,将在下一个版本中可用。”“来自版本2.7.1。属性hsqldb.method_class_names如果将任何Java静态方法用作HSQLDB例程目标,则必须使用类名称或通用卡的列表来定义。”

以前的实现引起了问题,因为使用Java静态方法,除那些java.lang.math,如果不定义系统属性,则不应允许出现问题。

根本原因

一个代码情报对问题的技术写入解释问题的根本原因。

“默认情况下,可以使用SQL语句从类路径中的任何Java类调用任何静态方法。HSQLDB(HYPERSQL数据库)允许直接使用方法”在媒介上发布上周解释。

脆弱性意味着使用java.sql.Statement或者java.sql.preparedstatement在PETATCH版本中,HSQLDB以及不受信任的输入可能会留下容易受到RCE攻击的应用程序。

响应查询每日swbeplay2018官网ig,代码智能联合创始人Khaled Yakdan解释说,应用程序不必容易受到伤害SQL注入为了解决这个问题。

Yakdan说:“当前默认配置允许使用类路径上任何类的静态方法。”“此外,允许直接使用方法来实现遗产兼容性。”

Yakden拒绝推测哪些特定应用程序可能很容易受到伤害,但他能够解释该缺陷在被激活的情况下的影响。

雅克登告诉每日swbeplay2018官网ig。“该CVE的影响是,如果您使用HyperSQL处理包括(不信任)用户输入的查询,则攻击者可能会导致您的应用程序执行任意代码。”


有关的Apache Commons Text RCE:与Log4shell相似,但曝光风险“低得多”