CVE-2019-9193
In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_server_program' group…
- 7.2HighCVSS base score
- 91.7%Exploitation in 30 daysEPSS · top 0.2% of all CVEs
- NoKnown exploitednot in CISA's KEV catalog
- 3Public exploitsMetasploit, Nuclei and Exploit-DB
Description
In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_server_program' group to execute arbitrary code in the context of the database's operating system user. This functionality is enabled by default and can be abused to run arbitrary operating system commands on Windows, Linux, and macOS. NOTE: Third parties claim/state this is not an issue because PostgreSQL functionality for ‘COPY TO/FROM PROGRAM’ is acting as intended. References state that in PostgreSQL, a superuser can execute commands as the server user without using the ‘COPY FROM PROGRAM’.
Public exploit
An exploit or proof of concept is public: anyone can try it against an unpatched system. The public collections list a Metasploit module, a Nuclei template and an Exploit-DB entry for it.
Show the exploits3
Metasploit modules1 module
- PostgreSQL COPY FROM PROGRAM Command Execution (Metasploit module) (opens in a new tab)
exploit/multi/postgres/postgres_copy_from_program_cmd_execRank excellentdisclosed 20 Mar 2019
Nuclei templates1 template
- PostgreSQL 9.3-12.3 Authenticated Remote Code Execution (Nuclei template) (opens in a new tab)
javascript/cves/2019/CVE-2019-9193.yamlSeverity high
Exploit-DB1 entry
- PostgreSQL 9.3 - COPY FROM PROGRAM Command Execution (Metasploit) (Exploit-DB entry) (opens in a new tab)
EDB-ID 46813remote, multiplepublished 8 May 2019Verified
Modules, templates and exploits as listed by the Metasploit Framework (BSD-3-Clause), ProjectDiscovery's Nuclei templates (MIT) and the Exploit Database (GPLv2), read once a day. Where the data comes from
Timeline
ID reserved
By mitre
- 34 days later
· 34 days later
Published
- 6 years later
· 6 years later
Record updated
Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| NVDNVD · Modified | 3.0 | High7.2 | CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H |
- EPSS (exploitation in 30 days)
- 91.7% · top 0.2% of all CVEs (11 Nov 2026)
- CISA SSVC
- Exploitation: none · Automatable: no · Technical impact: total
The list uses the assigner's score when there is one, then CISA's, then NVD's: High 7.2.
Affected products
n/a
- affected n/a
References
References8
- https://paquier.xyz/postgresql-2/postgres-9-3-feature-highlight-copy-tofrom-program/ (opens in a new tab)x_transferred
- https://medium.com/greenwolf-security/authenticated-arbitrary-command-execution-on-postgresql-9-3-latest-cd18945914d5 (opens in a new tab)x_transferred
- https://blog.hagander.net/when-a-vulnerability-is-not-a-vulnerability-244/ (opens in a new tab)x_transferred
- https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/authenticated-arbitrary-command-execution-on-postgresql-9-3/ (opens in a new tab)x_transferred
- https://security.netapp.com/advisory/ntap-20190502-0003/ (opens in a new tab)x_transferred
- http://packetstormsecurity.com/files/152757/PostgreSQL-COPY-FROM-PROGRAM-Command-Execution.html (opens in a new tab)x_transferred
- http://packetstormsecurity.com/files/166540/PostgreSQL-11.7-Remote-Code-Execution.html (opens in a new tab)x_transferred
- http://packetstormsecurity.com/files/171722/PostgreSQL-9.6.1-Remote-Code-Execution.html (opens in a new tab)x_transferred
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- EUVD EUVD-2019-18570 (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisories (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://cveledger.app/cve/CVE-2019-9193)Record last updated .