CVE-2017-16082 Remote Code Execution in pg
Remote code execution in the pg Node.js module via crafted column names from untrusted databases or unsafe SQL queries.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2017-16082?
CVE-2017-16082 is a critical code injection vulnerability in HackerOne pg node module, published on 7 Jun 2018. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
A remote code execution vulnerability was found within the pg module when the remote database or query specifies a specially crafted column name. There are 2 likely scenarios in which one would likely be vulnerable. 1) Executing unsafe, user-supplied sql which contains a malicious column name. 2) Connecting to an untrusted database and executing a query which returns results where any of the column names are malicious.
Weakness: CWE-94
Which versions are affected by CVE-2017-16082?
22 open source packages ship an affected version, including pg. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
pg npm | All versions | 2.11.2 |
pg npm | All versions | 2.11.2 |
pg npm | From 3.0.0 | 3.6.4 |
pg npm | From 3.0.0 | 3.6.4 |
pg npm | From 4.0.0 | 4.5.7 |
pg npm | From 4.0.0 | 4.5.7 |
16 more packages
pg npm | From 5.0.0 | 5.2.1 |
pg npm | From 5.0.0 | 5.2.1 |
pg npm | From 6.0.0 | 6.0.5 |
pg npm | From 6.0.0 | 6.0.5 |
pg npm | From 6.1.0 | 6.1.6 |
pg npm | From 6.1.0 | 6.1.6 |
pg npm | From 6.2.0 | 6.2.5 |
pg npm | From 6.2.0 | 6.2.5 |
pg npm | From 6.3.0 | 6.3.3 |
pg npm | From 6.3.0 | 6.3.3 |
pg npm | From 6.4.0 | 6.4.2 |
pg npm | From 6.4.0 | 6.4.2 |
pg npm | From 7.0.0 | 7.0.2 |
pg npm | From 7.0.0 | 7.0.2 |
pg npm | From 7.1.0 | 7.1.2 |
pg npm | From 7.1.0 | 7.1.2 |
Products include Node-Postgres Pg.
How do I fix CVE-2017-16082?
Upgrade pg to a fixed version for your release line: 2.11.2, 3.6.4, 4.5.7 or 5.2.1.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2017-16082 being exploited?
There is no known exploitation of CVE-2017-16082 in the wild and no public exploit code.
Public exploit code: 1 proofs of concept on GitHub.
Sources
Also known as DEBIAN-CVE-2017-16082, GHSA-wc9v-mj63-m9g5, UBUNTU-CVE-2017-16082.