GHSA-886V-MM6P-4M66
Vulnerability from github – Published: 2019-06-05 09:48 – Updated: 2021-09-07 15:24Urgent Upgrade
The static file server module included with GUN had a serious vulnerability:
- Using
curl --path-as-isallowed reads on any parent directory or files.
This did not work via the browser or via curl without as-is option.
### Fixed
This has been fixed since version 0.2019.416 and higher.
### Who Was Effected?
Most NodeJS users who use the default setup, such as:
npm startnode examples/http.jsHeroku1-click-deployDockerNow
If you have a custom NodeJS code then you are probably safe unless you have something like require('http').createServer(Gun.serve(__dirname)) in it.
If you have not upgraded, it is mandatory or else it is highly likely your environment variables and AWS (or other) keys could be leaked.
### Credit
It was reported and fixed by JK0N, but I did not understand the --path-as-is condition.
Joonas Loppi from function61 rediscovered it and explained the urgency to me to fix it.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "gun"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.2019.416"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-22"
],
"github_reviewed": true,
"github_reviewed_at": "2020-06-16T21:24:52Z",
"nvd_published_at": null,
"severity": "HIGH"
},
"details": "## Urgent Upgrade\n\nThe static file server module included with GUN had a **serious vulnerability**:\n\n - Using `curl --path-as-is` allowed reads on any parent directory or files.\n\nThis did not work via the browser or via curl without as-is option.\n\n ### Fixed\n\nThis has been fixed since version `0.2019.416` and higher.\n\n ### Who Was Effected?\n\nMost NodeJS users who use the default setup, such as:\n\n - `npm start`\n - `node examples/http.js`\n - `Heroku` 1-click-deploy\n - `Docker`\n - `Now`\n\nIf you have a custom NodeJS code then you are probably safe *unless* you have something like `require(\u0027http\u0027).createServer(Gun.serve(__dirname))` in it.\n\nIf you have not upgraded, it is **mandatory** or else it is highly likely your environment variables and AWS (or other) keys could be leaked.\n\n ### Credit\n\nIt was reported and fixed by [JK0N](https://github.com/amark/gun/pull/527), but I did not understand the `--path-as-is` condition.\n\nJoonas Loppi from [function61](http://function61.com) rediscovered it and explained the urgency to me to fix it.\n",
"id": "GHSA-886v-mm6p-4m66",
"modified": "2021-09-07T15:24:35Z",
"published": "2019-06-05T09:48:02Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/amark/gun/security/advisories/GHSA-886v-mm6p-4m66"
},
{
"type": "ADVISORY",
"url": "https://github.com/advisories/GHSA-886v-mm6p-4m66"
},
{
"type": "PACKAGE",
"url": "https://github.com/amark/gun"
}
],
"schema_version": "1.4.0",
"severity": [],
"summary": "High severity vulnerability that affects gun"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.