---
id: CVE-2023-6569
aliases:
  - GHSA-gqrq-j6pm-98c2
  - PYSEC-2026-350
title: External Control of File Name or Path in h2oai/h2o-3
summary: External Control of File Name or Path in h2oai/h2o-3
severity: critical
cvss: 9.3
cvssVector: 'CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:H'
vendor: h2o
product: h2o
ecosystem: pip
affected:
  - h2o < 3.46.0.1
patched:
  - h2o 3.46.0.1
published: '2023-12-14'
updated: '2026-10-27'
sourceUpdated: '2026-10-27T16:45:04.545213111Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-gqrq-j6pm-98c2'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2023-6569'
  - url: >-
      https://github.com/h2oai/h2o-3/commit/e8884f5187eb81311877c5f0dd4d6d9c70f33d78
  - url: 'https://github.com/h2oai/h2o-3'
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/h2o/PYSEC-2026-350.yaml
  - url: 'https://huntr.com/bounties/a5d003dc-c23e-4c98-8dcf-35ba9252fa3c'
  - url: 'https://pypi.org/project/h2o'
  - url: 'https://github.com/advisories/GHSA-gqrq-j6pm-98c2'
tags:
  - osv
  - pip
  - ghsa
epss: 0.00721
epssPercentile: 0.53758
cwe:
  - CWE-73
  - CWE-610
ingestedAt: '2026-10-27T17:33:23.779Z'
---

## Overview

Remote unauthenticated attackers can overwrite arbitrary server files with attacker-controllable data. The data that the attacker can control is not entirely arbitrary. h2o writes a CSV/XLS/etc file to disk, so the attacker data is wrapped in quotations and starts with "C1", if they're exporting as CSV.

## Affected packages

- `h2o < 3.46.0.1`

## Remediation

Upgrade to a patched release:

- `h2o 3.46.0.1`
