{"url":"http://public2.vulnerablecode.io/api/packages/727178?format=json","purl":"pkg:npm/hfs@0.1.3","type":"npm","namespace":"","name":"hfs","version":"0.1.3","qualifiers":{},"subpath":"","is_vulnerable":true,"next_non_vulnerable_version":"0.57.10","latest_non_vulnerable_version":"0.57.10","affected_by_vulnerabilities":[{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/360655?format=json","vulnerability_id":"VCID-1n5x-a7b4-mkhg","summary":"HFS user adding a \"web link\" in HFS is vulnerable to \"target=_blank\" exploit\n### Summary\nWhen adding a \"web link\" to the HFS virtual filesystem, the frontend opens it with `target=\"_blank\"` but without the `rel=\"noopener noreferrer\"` attribute. This allows the opened page to use the `window.opener` property to change the location of the original HFS tab.\n\n### Details\nWhile most modern browsers have fixes already implemented for this `target=\"_blank\"` exploit at the browser level, users on outdated browsers remain vulnerable. This means that if an admin of the HFS instance adds a link to an external third-party service (that they believe is safe at the time) and that service they added later becomes compromised, the malicious page could replace the original HFS tab's content with a phishing page. This does not require the admin account itself to be compromised, only that a legitimate linked site turns malicious.\n\n### Impact\nAffected users (people using old browsers without the browser level fix) could be misled into entering their HFS credentials or other sensitive information into a fake site controlled by an attacker. This vulnerability is fixed in most modern browsers, but adding `rel=\"noopener noreferrer\"` remains a best practice to protect legacy environments.\n\n\n### PoC\n\nFirstly, in the HFS admin page, under the filesystem (/~/admin/#/fs) press \"Add\" then \"web link\" then set the link to take the user to to an HTML file that exploits this vulnerability, here is an example of a malicious HTML file's code:\n\n```<html>\n <body>\n  <script>\n    window.opener.location = \"https://example.org\";\n  </script>\n<b>Error loading...</b>\n </body>\n</html>\n```\n\nNow, in the HFS folder you placed this web link in, open HFS and click the web link, if you aren't on a modern browser that fixed this vulnerability on the browser level, then switch back to the HFS tab that opened it, and you should be taken to \"https://example.org\" if you tried the code I provided, or whatever other page you tried.","references":[{"reference_url":"https://github.com/rejetto/hfs","reference_id":"","reference_type":"","scores":[{"value":"2.9","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P"},{"value":"LOW","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/rejetto/hfs"},{"reference_url":"https://github.com/rejetto/hfs/commit/6531bcd2ab285af88f91831e30d8a03f5b9fe20d","reference_id":"","reference_type":"","scores":[{"value":"2.9","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P"},{"value":"LOW","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/rejetto/hfs/commit/6531bcd2ab285af88f91831e30d8a03f5b9fe20d"},{"reference_url":"https://github.com/rejetto/hfs/security/advisories/GHSA-xcxh-6cv4-q8p8","reference_id":"","reference_type":"","scores":[{"value":"2.9","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P"},{"value":"LOW","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/rejetto/hfs/security/advisories/GHSA-xcxh-6cv4-q8p8"},{"reference_url":"https://github.com/advisories/GHSA-xcxh-6cv4-q8p8","reference_id":"GHSA-xcxh-6cv4-q8p8","reference_type":"","scores":[],"url":"https://github.com/advisories/GHSA-xcxh-6cv4-q8p8"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/377656?format=json","purl":"pkg:npm/hfs@0.57.10","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/hfs@0.57.10"}],"aliases":["GHSA-xcxh-6cv4-q8p8"],"risk_score":1.4,"exploitability":"0.5","weighted_severity":"2.7","resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-1n5x-a7b4-mkhg"},{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/46853?format=json","vulnerability_id":"VCID-cgda-hzqy-t3b7","summary":"rejetto HFS (aka HTTP File Server) 3 before 0.52.10 on Linux, UNIX, and macOS allows OS command execution by remote authenticated users (if they have Upload permissions). This occurs because a shell is used to execute df (i.e., with execSync instead of spawnSync in child_process in Node.js).","references":[{"reference_url":"https://api.first.org/data/v1/epss?cve=CVE-2024-39943","reference_id":"","reference_type":"","scores":[{"value":"0.78344","scoring_system":"epss","scoring_elements":"0.99055","published_at":"2026-06-12T12:55:00Z"},{"value":"0.78344","scoring_system":"epss","scoring_elements":"0.99051","published_at":"2026-06-11T12:55:00Z"}],"url":"https://api.first.org/data/v1/epss?cve=CVE-2024-39943"},{"reference_url":"https://github.com/rejetto/hfs","reference_id":"","reference_type":"","scores":[{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"8.7","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/rejetto/hfs"},{"reference_url":"https://github.com/rejetto/hfs/commit/305381bd36eee074fb238b64302a252668daad1d","reference_id":"305381bd36eee074fb238b64302a252668daad1d","reference_type":"","scores":[{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AC:L/AV:N/A:H/C:H/I:H/PR:L/S:C/UI:N"},{"value":"8.7","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track*","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:P/A:Y/T:T/P:M/B:A/M:M/D:R/2024-07-12T03:55:26Z/"}],"url":"https://github.com/rejetto/hfs/commit/305381bd36eee074fb238b64302a252668daad1d"},{"reference_url":"https://nvd.nist.gov/vuln/detail/CVE-2024-39943","reference_id":"CVE-2024-39943","reference_type":"","scores":[{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"8.7","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-39943"},{"reference_url":"https://github.com/advisories/GHSA-5f4x-hwv2-w9w2","reference_id":"GHSA-5f4x-hwv2-w9w2","reference_type":"","scores":[{"value":"HIGH","scoring_system":"cvssv3.1_qr","scoring_elements":""}],"url":"https://github.com/advisories/GHSA-5f4x-hwv2-w9w2"},{"reference_url":"https://www.rejetto.com/wiki/index.php/HFS:_Working_with_uploads","reference_id":"HFS:_Working_with_uploads","reference_type":"","scores":[{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AC:L/AV:N/A:H/C:H/I:H/PR:L/S:C/UI:N"},{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"8.7","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track*","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:P/A:Y/T:T/P:M/B:A/M:M/D:R/2024-07-12T03:55:26Z/"}],"url":"https://www.rejetto.com/wiki/index.php/HFS:_Working_with_uploads"},{"reference_url":"https://github.com/rejetto/hfs/compare/v0.52.9...v0.52.10","reference_id":"v0.52.9...v0.52.10","reference_type":"","scores":[{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AC:L/AV:N/A:H/C:H/I:H/PR:L/S:C/UI:N"},{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"8.7","scoring_system":"cvssv4","scoring_elements":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track*","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:P/A:Y/T:T/P:M/B:A/M:M/D:R/2024-07-12T03:55:26Z/"}],"url":"https://github.com/rejetto/hfs/compare/v0.52.9...v0.52.10"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/32415?format=json","purl":"pkg:npm/hfs@0.52.10","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-1n5x-a7b4-mkhg"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/hfs@0.52.10"}],"aliases":["CVE-2024-39943","GHSA-5f4x-hwv2-w9w2"],"risk_score":4.5,"exploitability":"0.5","weighted_severity":"8.9","resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-cgda-hzqy-t3b7"}],"fixing_vulnerabilities":[],"risk_score":"4.5","resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/hfs@0.1.3"}