GHSA-p72p-rjr2-r439: Terriajs server Server-Side Request Forgery Vulnerability
HIGHGHSA-p72p-rjr2-r439 is a HIGH server-side request forgery vulnerability (CWE-918: Server-Side Request Forgery (SSRF)) affecting Terriajs server libraries in the npm ecosystem. The issue involves server-side request forgery in terriajs-server. Remediation is available by upgrading affected packages to version 2.7.4.
GHSA-p72p-rjr2-r439 at a Glance
How to Fix GHSA-p72p-rjr2-r439
To remediate this vulnerability, upgrade all affected Terriajs 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.
npm install terriajs-server@2.7.4
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
npm ls terriajs-server
How to Check if You Are Affected
To determine whether your Node.js application is affected by GHSA-p72p-rjr2-r439, inspect your project dependencies using npm:
npm ls terriajs-server
Analyze the terminal output to locate any version of Terriajs server in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.7.4), your application is affected.
Note: The npm ls terriajs-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-918: Server-Side Request Forgery (SSRF), where the web server receives a url or similar request from an upstream component and retrieves the contents of this url, but it does not sufficiently ensure that the request is being sent to the expected destination. In Terriajs 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
GHSA-p72p-rjr2-r439 Affected Terriajs server Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
terriajs-server
|
npm |
< 2.7.4
|
2.7.4
|
References
Frequently Asked Questions
What is GHSA-p72p-rjr2-r439?
Which Terriajs server versions are affected?
What version fixes GHSA-p72p-rjr2-r439?
Is terriajs-server affected?
What CWE is associated with GHSA-p72p-rjr2-r439?
How can I check npm dependencies for GHSA-p72p-rjr2-r439?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-p72p-rjr2-r439",
"modified" : "2020-08-31T18:35:03Z",
"published" : "2019-05-29T20:24:02Z",
"aliases" : [ ],
"summary" : "Server-Side Request Forgery in terriajs-server",
"details" : "Versions of `terriajs-server`prior to 2.7.4 are vulnerable to Server-Side Request Forgery (SSRF). If an attacker has access to a server whitelisted by the terriajs-server proxy or if the attacker is able to modify the DNS records of a domain whitelisted by the terriajs-server proxy, the attacker can use the terriajs-server proxy to access any HTTP-accessible resources that are accessible to the server, including private resources in the hosting environment.\n\n\n## Recommendation\n\nUpgrade to version 2.7.4 or later.",
"severity" : [ ],
"affected" : [ {
"package" : {
"ecosystem" : "npm",
"name" : "terriajs-server"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "2.7.4"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/TerriaJS/terriajs-server/commit/3cbc48475f50a53962f605491d0e60648a29bdf0"
}, {
"type" : "WEB",
"url" : "https://medium.com/terria/security-vulnerability-in-terriajs-server-82c8bf4da0a5"
}, {
"type" : "WEB",
"url" : "https://www.npmjs.com/advisories/768"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-918" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2019-05-29T20:23:25Z",
"nvd_published_at" : null
}
}