CVE-2026-3960 Remote Code Execution in h2oai/h2o-3
Unauthenticated attackers can execute arbitrary code on H2O-3 servers by bypassing JDBC parameter blacklists via PostgreSQL driver exploitation.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-3960?
CVE-2026-3960 is a medium-severity code injection vulnerability in h2oai/h2o-3, published on 23 Apr 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
A critical remote code execution vulnerability exists in the unauthenticated REST API endpoint /99/ImportSQLTable in H2O-3 version 3.46.0.9 and prior. The vulnerability arises due to insufficient security controls in the parameter blacklist mechanism, which only targets MySQL JDBC driver-specific dangerous parameters. An attacker can bypass these controls by switching the JDBC URL protocol to jdbc:postgresql: and exploiting PostgreSQL JDBC driver-specific parameters such as socketFactory and socketFactoryArg. This allows unauthenticated attackers to execute arbitrary code on the H2O-3 server with the privileges of the H2O-3 process. The issue is resolved in version 3.46.0.10.
Weakness: CWE-94
Which versions are affected by CVE-2026-3960?
3 open source packages ship an affected version, including ai.h2o:h2o-core and h2o. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
ai.h2o:h2o-core Maven | All versions | 3.46.0.10 |
ai.h2o:h2o-core Maven | All versions | 3.46.0.10 |
h2o PyPI | All versions | 3.46.0.10 |
Products include H2o H2o.
How do I fix CVE-2026-3960?
Upgrade ai.h2o:h2o-core to 3.46.0.10 or later.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2026-3960 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-3960 exists.
Other vulnerabilities in h2oai/h2o-3
Sources
Also known as GHSA-qmcv-hh7c-3m56, PYSEC-2026-2180.