CVE-2022-45868
https://notcve.org/view.php?id=CVE-2022-45868
The web-based admin console in H2 Database Engine before 2.2.220 can be started via the CLI with the argument -webAdminPassword, which allows the user to specify the password in cleartext for the web admin console. Consequently, a local user (or an attacker that has obtained local access through some means) would be able to discover the password by listing processes and their arguments. NOTE: the vendor states "This is not a vulnerability of H2 Console ... Passwords should never be passed on the command line and every qualified DBA or system administrator is expected to know that." Nonetheless, the issue was fixed in 2.2.220. ** DISPUTA ** La consola de administración basada en web en H2 Database Engine hasta 2.1.214 se puede iniciar a través de la CLI con el argumento -webAdminPassword, que permite al usuario especificar la contraseña en texto sin cifrar para la consola de administración web. • https://github.com/advisories/GHSA-22wj-vf5f-wrvj https://github.com/h2database/h2database/blob/96832bf5a97cdc0adc1f2066ed61c54990d66ab5/h2/src/main/org/h2/server/web/WebServer.java#L346-L347 https://github.com/h2database/h2database/issues/3686 https://github.com/h2database/h2database/pull/3833 https://github.com/h2database/h2database/releases/tag/version-2.2.220 https://sites.google.com/sonatype.com/vulnerabilities/sonatype-2022-6243 • CWE-312: Cleartext Storage of Sensitive Information •
CVE-2022-23221 – h2: Loading of custom classes from remote servers through JNDI
https://notcve.org/view.php?id=CVE-2022-23221
H2 Console before 2.1.210 allows remote attackers to execute arbitrary code via a jdbc:h2:mem JDBC URL containing the IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT substring, a different vulnerability than CVE-2021-42392. H2 Console versiones anteriores a 2.1.210, permite a atacantes remotos ejecutar código arbitrario por medio de una URL jdbc:h2:mem JDBC que contenga la subcadena IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT, una vulnerabilidad diferente a CVE-2021-42392 A flaw was found in the H2 Console. This flaw allows remote attackers to execute arbitrary code via a JDBC URL, concatenating with a substring that allows remote code execution by using a script. The H2 Database console suffers from an unauthenticated remote code execution vulnerability. • http://packetstormsecurity.com/files/165676/H2-Database-Console-Remote-Code-Execution.html http://seclists.org/fulldisclosure/2022/Jan/39 https://github.com/h2database/h2database/releases/tag/version-2.1.210 https://github.com/h2database/h2database/security/advisories https://lists.debian.org/debian-lts-announce/2022/02/msg00017.html https://security.netapp.com/advisory/ntap-20230818-0011 https://twitter.com/d0nkey_man/status/1483824727936450564 https://www.debian.org/security/2022/dsa-5076 https: • CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') CWE-502: Deserialization of Untrusted Data •
CVE-2021-42392 – h2: Remote Code Execution in Console
https://notcve.org/view.php?id=CVE-2021-42392
The org.h2.util.JdbcUtils.getConnection method of the H2 database takes as parameters the class name of the driver and URL of the database. An attacker may pass a JNDI driver name and a URL leading to a LDAP or RMI servers, causing remote code execution. This can be exploited through various attack vectors, most notably through the H2 Console which leads to unauthenticated remote code execution. El método org.h2.util.JdbcUtils.getConnection de la base de datos H2 toma como parámetros el nombre de la clase del controlador y la URL de la base de datos. Un atacante puede pasar un nombre de controlador JNDI y una URL que conlleve a un servidor LDAP o RMI, causando una ejecución de código remota. • https://github.com/cybersecurityworks553/CVE-2021-42392-Detect https://github.com/h2database/h2database/security/advisories/GHSA-h376-j262-vhq6 https://jfrog.com/blog/the-jndi-strikes-back-unauthenticated-rce-in-h2-database-console https://lists.debian.org/debian-lts-announce/2022/02/msg00017.html https://security.netapp.com/advisory/ntap-20220119-0001 https://www.debian.org/security/2022/dsa-5076 https://www.oracle.com/security-alerts/cpuapr2022.html https://www.secpod.com/blog/log4shell-critical • CWE-502: Deserialization of Untrusted Data •
CVE-2021-23463 – XML External Entity (XXE) Injection
https://notcve.org/view.php?id=CVE-2021-23463
The package com.h2database:h2 from 1.4.198 and before 2.0.202 are vulnerable to XML External Entity (XXE) Injection via the org.h2.jdbc.JdbcSQLXML class object, when it receives parsed string data from org.h2.jdbc.JdbcResultSet.getSQLXML() method. If it executes the getSource() method when the parameter is DOMSource.class it will trigger the vulnerability. El paquete com.h2database:h2 a partir de la versión 1.4.198 y antes de la versión 2.0.202 son vulnerables a la Inyección de Entidades Externas XML (XXE) a través del objeto de clase org.h2.jdbc.JdbcSQLXML, cuando recibe datos de cadena analizados del método org.h2.jdbc.JdbcResultSet.getSQLXML(). Si ejecuta el método getSource() cuando el parámetro es DOMSource.class activará la vulnerabilidad • https://github.com/h2database/h2database/commit/d83285fd2e48fb075780ee95badee6f5a15ea7f8%23diff-008c2e4462609982199cd83e7cf6f1d6b41296b516783f6752c44b9f15dc7bc3 https://github.com/h2database/h2database/issues/3195 https://github.com/h2database/h2database/pull/3199 https://security.netapp.com/advisory/ntap-20230818-0010 https://snyk.io/vuln/SNYK-JAVA-COMH2DATABASE-1769238 https://www.oracle.com/security-alerts/cpuapr2022.html • CWE-611: Improper Restriction of XML External Entity Reference •