GHSA-hfwx-c7q6-g54c: Highcharts export server Remote Code Execution Vulnerability

HIGH
CWE-552
Published
Advisory Summary

GHSA-hfwx-c7q6-g54c is a HIGH remote code execution vulnerability (CWE-552: Files or Directories Accessible to External Parties) affecting Highcharts export server libraries in the npm ecosystem. The issue involves vulnerability allowing for reading internal http resources. Remediation is available by upgrading affected packages to version 2.1.0.

GHSA-hfwx-c7q6-g54c at a Glance

CVE Identifier N/A
GHSA Identifier GHSA-hfwx-c7q6-g54c
Severity HIGH
CVSS v3.1 Base Score N/A
CWE Classification CWE-552: Files or Directories Accessible to External Parties
Affected Product Highcharts export server
Package Ecosystem npm
Published Date
Last Updated

How to Fix GHSA-hfwx-c7q6-g54c

To remediate this vulnerability, upgrade all affected Highcharts export server dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

highcharts-export-server fixed: 2.1.0
npm install highcharts-export-server@2.1.0
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

npm ls highcharts-export-server

How to Check if You Are Affected

To determine whether your Node.js application is affected by GHSA-hfwx-c7q6-g54c, inspect your project dependencies using npm:

npm ls highcharts-export-server

Analyze the terminal output to locate any version of Highcharts export server in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.1.0), your application is affected.

Note: The npm ls highcharts-export-server command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-552: Files or Directories Accessible to External Parties, where the product makes files or directories accessible to unauthorized actors, even though they should not be. In Highcharts export server, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Impact The vulnerability allows for reading and outputting files served by other services on the internal network in which the export server is hosted. If the export server is exposed to the internet, this potentially allows a malicious user to gain read access to internal web-resources. The impact is limited to internal services that serve content via. HTTP(S), and requires the attacker to know internal hostnames/IP addresses. The previous versions have been marked as deprecated on NPM. ### Patches Version 2.1.0 released alongside this security advisory addresses the issue. **Please note that this release is not backwards compatible out of the box. See the [changelog](https://github.com/highcharts/node-export-server/blob/master/CHANGELOG.md) for details.** Additionally, it's also recommended to upgrade to the latest version of Highcharts to get the added input sanitation implemented in version 9.0 and later. ### Workarounds There are no known workarounds to the issue - an upgrade to version 2.1.0 is required. ### For more information If you have any questions or comments about this advisory: * Open an issue in [the export server issue tracker](https://github.com/highcharts/node-export-server/issues) * Email us at [security@highsoft.com](mailto:security@highsoft.com)

GHSA-hfwx-c7q6-g54c Affected Highcharts export server Versions

1 component(s)
Fixed Versions:
2.1.0
Product / Package Ecosystem Affected Versions Fixed Version
highcharts-export-server
npm
< 2.1.0
2.1.0

References

Frequently Asked Questions

What is GHSA-hfwx-c7q6-g54c?
GHSA-hfwx-c7q6-g54c is a security vulnerability in Highcharts export server involving Vulnerability allowing for reading internal HTTP resources under CWE-552: Files or Directories Accessible to External Parties.
Which Highcharts export server versions are affected?
Affected versions include releases prior to 2.1.0 across affected packages: highcharts-export-server.
What version fixes GHSA-hfwx-c7q6-g54c?
Upgrading to 2.1.0 (or the latest patched release for your respective branch) resolves the vulnerability.
Is highcharts-export-server affected?
Yes, highcharts-export-server is affected in releases prior to 2.1.0. Upgrade your dependency to 2.1.0 or later.
What CWE is associated with GHSA-hfwx-c7q6-g54c?
GHSA-hfwx-c7q6-g54c is classified under CWE-552: Files or Directories Accessible to External Parties (The product makes files or directories accessible to unauthorized actors, even though they should not be.).
How can I check npm dependencies for GHSA-hfwx-c7q6-g54c?
Run the dependency tree command: 'npm ls highcharts-export-server'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-hfwx-c7q6-g54c",
  "modified" : "2021-03-12T22:32:16Z",
  "published" : "2021-03-12T23:04:46Z",
  "aliases" : [ ],
  "summary" : "Vulnerability allowing for reading internal HTTP resources",
  "details" : "### Impact\n\nThe vulnerability allows for reading and outputting files served by other services on the internal network in which the export server is hosted. If the export server is exposed to the internet, this potentially allows a malicious user to gain read access to internal web-resources.\n\nThe impact is limited to internal services that serve content via. HTTP(S), and requires the attacker to know internal hostnames/IP addresses.\n\nThe previous versions have been marked as deprecated on NPM.\n\n### Patches\n\nVersion 2.1.0 released alongside this security advisory addresses the issue. **Please note that this release is not backwards compatible out of the box. See the [changelog](https://github.com/highcharts/node-export-server/blob/master/CHANGELOG.md) for details.**\n\nAdditionally, it's also recommended to upgrade to the latest version of Highcharts to get the added input sanitation implemented in version 9.0 and later. \n\n### Workarounds\n\nThere are no known workarounds to the issue - an upgrade to version 2.1.0 is required.\n\n### For more information\nIf you have any questions or comments about this advisory:\n* Open an issue in [the export server issue tracker](https://github.com/highcharts/node-export-server/issues)\n* Email us at [security@highsoft.com](mailto:security@highsoft.com)",
  "severity" : [ ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "npm",
      "name" : "highcharts-export-server"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "2.1.0"
      } ]
    } ],
    "database_specific" : {
      "last_known_affected_version_range" : "<= 2.0.30"
    }
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/highcharts/node-export-server/security/advisories/GHSA-hfwx-c7q6-g54c"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/highcharts/node-export-server/commit/53fa992a96785a5a08390e55ec30ea2ad217dfe6"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/highcharts/node-export-server/blob/master/CHANGELOG.md#210"
  }, {
    "type" : "WEB",
    "url" : "https://www.npmjs.com/package/highcharts-export-server"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-552" ],
    "severity" : "HIGH",
    "github_reviewed" : true,
    "github_reviewed_at" : "2021-03-12T22:32:16Z",
    "nvd_published_at" : null
  }
}