---
id: CVE-2026-3960
aliases:
  - PYSEC-2026-2180
  - GHSA-qmcv-hh7c-3m56
title: >-
  A critical remote code execution vulnerability exists in the unauthenticated
  REST API endpoint /99/ImportSQLTable in H2O-3 version 3.46.0…
summary: >-
  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
  blackl…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: h2o
product: h2o
ecosystem: pip
affected:
  - h2o < 3.46.0.10
patched:
  - h2o 3.46.0.10
published: '2026-04-23'
updated: '2026-07-13'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/PYSEC-2026-2180'
references:
  - url: >-
      https://github.com/h2oai/h2o-3/commit/b9ae2d3c5220db2dc53753357a783e590364d044
  - url: 'https://huntr.com/bounties/6954fe04-b905-453f-8c53-205ac8377e0d'
tags:
  - osv
  - pip
epss: 0.01034
epssPercentile: 0.62292
ingestedAt: '2026-07-13T18:58:07.858Z'
---

## Overview

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.

## Affected packages

- `h2o < 3.46.0.10`

## Remediation

Upgrade to a patched release:

- `h2o 3.46.0.10`
