Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2022-41853

Опубликовано: 06 окт. 2022
Источник: redhat
CVSS3: 9.8
EPSS Высокий

Описание

Those using java.sql.Statement or java.sql.PreparedStatement in hsqldb (HyperSQL DataBase) to process untrusted input may be vulnerable to a remote code execution attack. By default it is allowed to call any static method of any Java class in the classpath resulting in code execution. The issue can be prevented by updating to 2.7.1 or by setting the system property "hsqldb.method_class_names" to classes which are allowed to be called. For example, System.setProperty("hsqldb.method_class_names", "abc") or Java argument -Dhsqldb.method_class_names="abc" can be used. From version 2.7.1 all classes by default are not accessible except those in java.lang.Math and need to be manually enabled.

A flaw was found in the HSQLDB package. This flaw allows untrusted inputs to execute remote code due to any static method of any Java class in the classpath, resulting in code execution by default.

Меры по смягчению последствий

By default, the static methods of any class that is on the classpath are available for use and can compromise security in some systems. The optional Java system property, hsqldb.method_class_names, allows preventing access to classes other than java.lang.Math or specifying a semicolon-separated list of allowed classes. A property value that ends with .* is treated as a wild card and allows access to all class or method names formed by substitution of the * (asterisk). In the example below, the property has been included as an argument to the Java command. java -Dhsqldb.method_class_names="org.me.MyClass;org.you.YourClass;org.you.lib.*" [the rest of the command line] The above example allows access to the methods in the two classes: org.me.MyClass and org.you.YourClass together with all the classes in the org.you.lib package. Note that if the property is not defined, no access control is performed at this level. The user who creates a Java routine must have the relevant access privileges on the tables that are used inside the Java method. Once the routine has been defined, the normal database access control applies to its user. The routine can be executed only by those users who have been granted EXECUTE privileges on it. Access to routines can be granted to users with GRANT EXECUTE or GRANT ALL. For example, GRANT EXECUTE ON myroutine TO PUBLIC. In hsqldb 2.7.1, all classes by default are not accessible, except those in java.lang.Math and need to be manually enabled.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
A-MQ Clients 2hsqldbNot affected
Red Hat Data Grid 8hsqldbWill not fix
Red Hat Decision Manager 7hsqldbNot affected
Red Hat Enterprise Linux 8libreofficeNot affected
Red Hat Enterprise Linux 9libreofficeNot affected
Red Hat Integration Camel K 1hsqldbAffected
Red Hat Integration Camel Quarkus 1hsqldbFix deferred
Red Hat JBoss Data Grid 7hsqldbOut of support scope
Red Hat JBoss Enterprise Application Platform 6hsqldbOut of support scope
Red Hat JBoss Enterprise Application Platform 6jboss-onOut of support scope

Показывать по

Дополнительная информация

Статус:

Important
Дефект:
CWE-470
https://bugzilla.redhat.com/show_bug.cgi?id=2136141hsqldb: Untrusted input may lead to RCE attack

EPSS

Процентиль: 99%
0.70783
Высокий

9.8 Critical

CVSS3

Связанные уязвимости

CVSS3: 8
ubuntu
почти 3 года назад

Those using java.sql.Statement or java.sql.PreparedStatement in hsqldb (HyperSQL DataBase) to process untrusted input may be vulnerable to a remote code execution attack. By default it is allowed to call any static method of any Java class in the classpath resulting in code execution. The issue can be prevented by updating to 2.7.1 or by setting the system property "hsqldb.method_class_names" to classes which are allowed to be called. For example, System.setProperty("hsqldb.method_class_names", "abc") or Java argument -Dhsqldb.method_class_names="abc" can be used. From version 2.7.1 all classes by default are not accessible except those in java.lang.Math and need to be manually enabled.

CVSS3: 8
nvd
почти 3 года назад

Those using java.sql.Statement or java.sql.PreparedStatement in hsqldb (HyperSQL DataBase) to process untrusted input may be vulnerable to a remote code execution attack. By default it is allowed to call any static method of any Java class in the classpath resulting in code execution. The issue can be prevented by updating to 2.7.1 or by setting the system property "hsqldb.method_class_names" to classes which are allowed to be called. For example, System.setProperty("hsqldb.method_class_names", "abc") or Java argument -Dhsqldb.method_class_names="abc" can be used. From version 2.7.1 all classes by default are not accessible except those in java.lang.Math and need to be manually enabled.

CVSS3: 8
debian
почти 3 года назад

Those using java.sql.Statement or java.sql.PreparedStatement in hsqldb ...

suse-cvrf
почти 3 года назад

Security update for hsqldb

suse-cvrf
почти 3 года назад

Security update for hsqldb

EPSS

Процентиль: 99%
0.70783
Высокий

9.8 Critical

CVSS3