---
id: CVE-2026-7816
aliases:
  - GHSA-j74f-g7vx-fh4x
  - PYSEC-2026-2870
title: 'pgAdmin 4: OS command injection vulnerability in Import/Export query export'
summary: 'pgAdmin 4: OS command injection vulnerability in Import/Export query export'
severity: high
cvss: 8.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: pgadmin4
product: pgadmin4
ecosystem: pip
affected:
  - pgadmin4 < 9.15
patched:
  - pgadmin4 9.15
published: '2026-05-11'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:50:47.178280373Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-j74f-g7vx-fh4x'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-7816'
  - url: 'https://github.com/pgadmin-org/pgadmin4/issues/9899'
  - url: 'https://github.com/pgadmin-org/pgadmin4/commit/13badc62c'
  - url: 'https://github.com/pgadmin-org/pgadmin4'
tags:
  - osv
  - pip
epss: 0.01444
epssPercentile: 0.72136
ingestedAt: '2026-07-13T18:57:59.650Z'
---

## Overview

OS command injection (CWE-78) vulnerability in pgAdmin 4 Import/Export query export.

User-supplied input was interpolated directly into a psql \copy metacommand template without sanitization. An authenticated user could inject ") TO PROGRAM 'cmd'" to break out of the \copy (...) context and achieve arbitrary command execution on the pgAdmin server, or ") TO '/path'" for arbitrary file write. Additional fields (format, on_error, log_verbosity) were also raw-interpolated and exploitable.

Fix adds a parens-balance parser modeled on psql's strtokx tokenizer, allow-lists format/on_error/log_verbosity, rejects null bytes in the query, and tightens type and gating checks.

This issue affects pgAdmin 4: before 9.15.

## Affected packages

- `pgadmin4 < 9.15`

## Remediation

Upgrade to a patched release:

- `pgadmin4 9.15`
