Description
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 products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| pgadmin.org | pgAdmin 4 | 9.4 – < 9.15 | 9.15 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | pgadmin4 | 9.17-1.1 | openSUSE-SU-2026:11508-1 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | pgadmin4 | < 9.15 | 9.15 | GHSA-j74f-g7vx-fh4x |
Advisories 2
- WID-SEC-2026-1462 pgAdmin: Mehrere Schwachstellen BSI CERT-Bund (WID) · Aug 16, 2026
- openSUSE-SU-2026:11508-1 pgadmin4-9.17-1.1 on GA media SUSE / openSUSE Security Updates · Aug 14, 2026
References
- https://github.com/pgadmin-org/pgadmin4/issues/9899 issue-tracking