← Vulnerability feed

Vulnerability record · CVE-2022-23221 · published 19 January 2022

CVE-2022-23221: H2 Console JDBC URL argument injection enables remote code execution

H2database · H2

H2 Console before 2.1.210 accepts a jdbc:h2:mem JDBC URL containing the IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT substring, which lets an attacker inject arguments that trigger script execution. It is a distinct flaw from CVE-2021-42392 and matters because the console is remotely reachable and the injected INIT clause runs attacker-supplied SQL. The record does not list specific affected versions beyond the pre-2.1.210 boundary.

9.8 CVSS 3.1 Critical EPSS 65% · top 0.8% CWE-88 · Argument injection
9.8CVSS 3.1 base score, v2 10.0
65%EPSS exploitation probability, 30 days
NoNot in CISA KEV
3Affected product versions listed by NVD
20References, 6 tagged exploit
17 Jun 2026Last modified by NVD

Description

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.

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 19 September 2026. Confidence: high.

critical priorityUnauthenticated remote code execution with CVSS 9.8, public exploit references and a very high EPSS score, though not yet in KEV.

What it is

H2 Console before 2.1.210 accepts a jdbc:h2:mem JDBC URL containing the IGNORE_UNKNOWN_SETTINGS=TRUE;FORBID_CREATION=FALSE;INIT=RUNSCRIPT substring, which lets an attacker inject arguments that trigger script execution. It is a distinct flaw from CVE-2021-42392 and matters because the console is remotely reachable and the injected INIT clause runs attacker-supplied SQL. The record does not list specific affected versions beyond the pre-2.1.210 boundary.

Impact

An unauthenticated remote attacker can execute arbitrary code in the context of the H2 Console process, giving full control of the host running it. CVSS 3.1 scores this 9.8 with high confidentiality, integrity and availability impact.

Attack surface

Reached over the network via the H2 Console interface, per the AV:N vector, with no authentication or user interaction required (PR:N, UI:N). The attacker supplies the crafted JDBC URL to the console.

Exploitation

Not listed in CISA KEV, but EPSS 30-day probability is 0.64766 (99.2nd percentile) and multiple references carry Exploit tags, indicating public exploit material exists. No ransomware group usage is documented in the record.

What to do

  • Upgrade H2 to 2.1.210 or later, which is the version referenced by the patch release notes.
  • Apply vendor patches for downstream products that bundle H2, including Debian DSA-5076 and Oracle CPU April 2022 advisories.
  • Do not expose the H2 Console to untrusted networks; restrict it to localhost or a management network.
  • Disable or remove the H2 Console web servlet where it is not operationally required.
  • Block or reject JDBC URLs containing INIT, RUNSCRIPT, IGNORE_UNKNOWN_SETTINGS or FORBID_CREATION parameters at any input boundary.

Detection

  • Search application and proxy logs for JDBC URLs containing INIT=RUNSCRIPT, IGNORE_UNKNOWN_SETTINGS=TRUE or FORBID_CREATION=FALSE.
  • Monitor H2 Console access logs for requests from unexpected or external source addresses.
  • Alert on child processes spawned by the Java process hosting H2 Console, especially shell or script interpreters.
  • Audit deployed H2 jar versions and flag any below 2.1.210.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

3 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

LinkTags
http://packetstormsecurity.com/files/165676/H2-Database-Console-Remote-Code-Execution.html ExploitThird Party AdvisoryVDB Entry
http://seclists.org/fulldisclosure/2022/Jan/39 ExploitMailing ListThird Party Advisory
https://github.com/h2database/h2database/releases/tag/version-2.1.210 PatchRelease NotesThird Party Advisory
https://github.com/h2database/h2database/security/advisories MitigationPatchThird Party Advisory
https://lists.debian.org/debian-lts-announce/2022/02/msg00017.html Mailing ListThird Party Advisory
https://security.netapp.com/advisory/ntap-20230818-0011/
https://twitter.com/d0nkey_man/status/1483824727936450564 ExploitThird Party Advisory
https://www.debian.org/security/2022/dsa-5076 Third Party Advisory
https://www.oracle.com/security-alerts/cpuapr2022.html PatchThird Party Advisory
https://www.oracle.com/security-alerts/cpujul2022.html Not Applicable
http://packetstormsecurity.com/files/165676/H2-Database-Console-Remote-Code-Execution.html ExploitThird Party AdvisoryVDB Entry
http://seclists.org/fulldisclosure/2022/Jan/39 ExploitMailing ListThird Party Advisory
https://github.com/h2database/h2database/releases/tag/version-2.1.210 PatchRelease NotesThird Party Advisory
https://github.com/h2database/h2database/security/advisories MitigationPatchThird Party Advisory
https://lists.debian.org/debian-lts-announce/2022/02/msg00017.html Mailing ListThird Party Advisory
https://security.netapp.com/advisory/ntap-20230818-0011/
https://twitter.com/d0nkey_man/status/1483824727936450564 ExploitThird Party Advisory
https://www.debian.org/security/2022/dsa-5076 Third Party Advisory
https://www.oracle.com/security-alerts/cpuapr2022.html PatchThird Party Advisory
https://www.oracle.com/security-alerts/cpujul2022.html Not Applicable

Track CVE-2022-23221 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

10.0CVE-2025-32433Erlang/OTP SSH server missing authentication allows remote code executionErlang/OTP SSH servers before OTP-27.3.3, OTP-26.2.5.11 and OTP-25.3.2.20 mishandle SSH protocol messages, letting an unauthenticated attacker execut…KEVEPSS 99%analysed10.0CVE-2025-24201Apple WebKit out-of-bounds write allows sandbox escapeCVE-2025-24201 is an out-of-bounds write in Apple's WebKit that was addressed with improved checks. Maliciously crafted web content may break out of …KEVEPSS 3.8%analysed10.0CVE-2022-22947Spring Cloud Gateway Actuator endpoint code injectionSpring Cloud Gateway versions before 3.1.1+ and 3.0.7+ allow code injection when the Gateway Actuator endpoint is enabled, exposed and unsecured. A c…KEVEPSS 98%analysed10.0CVE-2021-44228Apache Log4j2 JNDI lookup remote code executionApache Log4j2 versions 2.0-beta9 through 2.15.0 (excluding 2.12.2, 2.12.3, and 2.3.1) do not protect against attacker-controlled LDAP and other JNDI …KEVEPSS 100%analysed9.8CVE-2026-24061GNU Inetutils telnetd argument injection allows remote auth bypasstelnetd in GNU Inetutils through 2.7 fails to sanitize the USER environment variable, so a value such as "-f root" is passed as an argument to login …KEVEPSS 99%analysed9.8CVE-2025-39682Linux kernel TLS zero-length record handling flaw on rx_listThe Linux kernel TLS receive path mishandles zero-length records that arrive from the rx_list, breaking the assumption that a record type change cann…KEVEPSS 2.9%analysed9.8CVE-2025-24813Apache Tomcat Default Servlet path equivalence enables RCE and file disclosureApache Tomcat mishandles path equivalence for names containing an internal dot, letting a remote unauthenticated attacker write files through the Def…KEVEPSS 100%analysed9.8CVE-2024-9680Mozilla Firefox and Thunderbird use-after-free in Animation timelinesA use-after-free flaw in Animation timelines allows an attacker to execute code in the content process of Firefox and Thunderbird. Mozilla reports ex…KEVEPSS 23%analysed

Source: NIST National Vulnerability Database (record CVE-2022-23221), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.