← Vulnerability feed

Vulnerability record · CVE-2020-28429 · published 23 February 2021

CVE-2020-28429: geojson2kml command injection via index.js

GGeojson2kml Project · Geojson2kml

All versions of the npm package geojson2kml pass unsanitised input into a shell command in index.js, allowing OS command injection. The flaw is trivially reachable from application code that calls the package with attacker-influenced arguments, and no fixed version is identified in the record.

9.8 CVSS 3.1 Critical EPSS 63% · top 0.8% CWE-78 · OS command injection
9.8CVSS 3.1 base score, v2 7.5
63%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
2References, 2 tagged exploit
17 Jun 2026Last modified by NVD

Description

All versions of package geojson2kml are vulnerable to Command Injection via the index.js file. PoC: var a =require("geojson2kml"); a("./","& touch JHU",function(){})

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 19 September 2026. Confidence: medium.

high priorityCritical CVSS 9.8 and very high EPSS with a public exploit, but exploitation requires a calling application that passes untrusted input to the package, so it is not automatically critical everywhere.

What it is

All versions of the npm package geojson2kml pass unsanitised input into a shell command in index.js, allowing OS command injection. The flaw is trivially reachable from application code that calls the package with attacker-influenced arguments, and no fixed version is identified in the record.

Impact

An attacker who controls the argument passed to the package can execute arbitrary operating system commands with the privileges of the Node.js process, leading to full compromise of confidentiality, integrity and availability.

Attack surface

Reached over the network through any application that feeds untrusted input into geojson2kml; the CVSS vector shows no privileges or user interaction required, though real-world reachability depends on how the calling application exposes the input.

Exploitation

Not listed in CISA KEV, but EPSS is 0.633 (99.2nd percentile) and the Snyk reference is tagged Exploit, indicating public proof-of-concept code exists.

What to do

  • Upgrade or replace geojson2kml; the record names no fixed version, so verify with the maintainer or Snyk advisory before relying on a release.
  • If no fix is available, stop passing untrusted input into the package and wrap or fork it to use execFile/spawn with argument arrays instead of a shell.
  • Run Node.js services that use this package with least privilege and in a sandbox or container to limit command execution impact.
  • Remove the dependency from builds where it is unused and add it to a dependency-block list.
  • Monitor the Snyk advisory page for a patched release and track the dependency in your SBOM.

Detection

  • Search source and lockfiles for geojson2kml usage and trace whether any caller argument is attacker-controlled.
  • Alert on child_process or shell activity spawned by Node.js processes that load geojson2kml.
  • Monitor for unexpected outbound connections or file writes from the Node.js service account following geojson2kml calls.
  • Review application logs for shell metacharacters (;, &, |, $()) in inputs reaching geojson conversion endpoints.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

LinkTags
https://snyk.io/vuln/SNYK-JS-GEOJSON2KML-1050412 ExploitThird Party Advisory
https://snyk.io/vuln/SNYK-JS-GEOJSON2KML-1050412 ExploitThird Party Advisory

Track CVE-2020-28429 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

8.8CVE-2026-53266Linux kernel ebtables SNAT out-of-bounds write in ARP rewriteThe ebtables SNAT target rewrites the ARP sender hardware address via skb_store_bits() without first making that range writable. When the ARP SHA byt…KEVEPSS 0.65%analysed8.8CVE-2026-87491Google Chrome V8 out-of-bounds write enables sandbox code executionChrome before 153.0.8010.36 contains an out-of-bounds write in the V8 JavaScript engine. A crafted HTML page can trigger the memory corruption, and b…KEVEPSS 3.1%analysed9.8CVE-2025-25249Fortinet FortiOS and FortiSwitchManager heap buffer overflow via crafted packetsA heap-based buffer overflow (CWE-122/CWE-787) in Fortinet FortiOS 6.4 through 7.6.3 and FortiSwitchManager 7.0 through 7.2.6 lets an unauthenticated…KEVEPSS 3.9%analysed7.8CVE-2026-83549SonicWall SMA1000 AMC OS Command InjectionThe SMA1000 Appliance Management Console contains an OS command injection flaw (CWE-78) that lets an authenticated administrator execute arbitrary op…KEVEPSS 11%analysed10.0CVE-2026-49869Kestra OSS auth bypass via path suffix match enables RCEKestra OSS AuthenticationFilter whitelists the public config endpoint using request.getPath().endsWith("/configs"), a suffix match instead of an exac…KEVEPSS 2.1%analysed7.8CVE-2026-53362Linux kernel IPv6 UDP paged allocation out-of-bounds write__ip6_append_data() in the Linux kernel mis-accounts fraggap on the paged-allocation path, leaving the linear skb area undersized while pagedlen is o…KEVEPSS 0.71%analysed7.8CVE-2022-0995Linux kernel watch_queue out-of-bounds writeThe Linux kernel's watch_queue event notification subsystem contains an out-of-bounds write (CWE-787) that can overwrite kernel state. A local user c…KEVEPSS 8.8%analysed8.9CVE-2026-73570Zimbra Collaboration SNMP notification OS command injectionZimbra Collaboration Suite before 10.1.20 contains an OS command injection flaw in SNMP notification processing when the optional zimbra-snmp package…KEVEPSS 12%analysed

Source: NIST National Vulnerability Database (record CVE-2020-28429), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.