CVE-2020-11079: node-dns-sync command injection

CVE-2020-11079 · Severity: low · CVSS 3.1 · Published 2020-05-28

node-dns-sync is a Node.js library for DNS lookups. The library improperly handles untrusted input when constructing system commands, allowing attackers to execute arbitrary code. An application using this library could be compromised if it processes attacker-controlled domain names or DNS parameters.

Technologies: dns-sync (npm). Vendors: npm.

Quick answers

Is CVE-2020-11079 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2020-11079 being exploited in the wild.
How severe is CVE-2020-11079?
Low severity, with a CVSS score of 3.1, published 28 May 2020.
Which products and versions are affected?
dns-sync (npm) through 0.2.0.
Is there a fix for CVE-2020-11079?
A patch was published on 2020-05-28: Fixed in version 0.2.1 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2020-11079 attacked?
It is attacked over the network.
Am I affected by CVE-2020-11079?
Check whether you run dns-sync (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability is a command injection flaw (CWE-77, CWE-94) in node-dns-sync versions through 0.2.0. The library constructs shell commands for DNS operations without properly sanitizing or escaping user-supplied input, allowing an attacker to inject arbitrary shell metacharacters. The attack requires that an application using the library passes untrusted input (such as a user-supplied domain name) directly to the vulnerable method. Successful exploitation results in remote code execution with the privileges of the Node.js process. The issue has been patched in version 0.2.1.

Affected products

  • npm dns-sync through 0.2.0

Identifiers

  • CVE-2020-11079
  • GHSA-wh69-wc6q-7888

Timeline

  • 2020-05-22: disclosed
  • 2020-05-28: advisory
  • 2020-05-28: patched: Fixed in version 0.2.1

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.