{"url":"http://public2.vulnerablecode.io/api/packages/398136?format=json","purl":"pkg:npm/sails@0.8.7","type":"npm","namespace":"","name":"sails","version":"0.8.7","qualifiers":{},"subpath":"","is_vulnerable":true,"next_non_vulnerable_version":"1.5.7","latest_non_vulnerable_version":"1.5.7","affected_by_vulnerabilities":[{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/41149?format=json","vulnerability_id":"VCID-2cq3-qkxr-jygw","summary":"Improper Input Validation in sails-hook-sockets\nSails.js before v1.0.0-46 allows attackers to cause a denial of service with a single request because there is no error handler in sails-hook-sockets to handle an empty pathname in a WebSocket request.","references":[{"reference_url":"https://api.first.org/data/v1/epss?cve=CVE-2018-21036","reference_id":"","reference_type":"","scores":[{"value":"0.00714","scoring_system":"epss","scoring_elements":"0.72649","published_at":"2026-05-29T12:55:00Z"}],"url":"https://api.first.org/data/v1/epss?cve=CVE-2018-21036"},{"reference_url":"https://github.com/balderdashy/sails/blob/56f8276f6501a144a03d1f0f28df4ccdb4ad82e2/CHANGELOG.md","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails/blob/56f8276f6501a144a03d1f0f28df4ccdb4ad82e2/CHANGELOG.md"},{"reference_url":"https://github.com/balderdashy/sails-hook-sockets","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails-hook-sockets"},{"reference_url":"https://github.com/balderdashy/sails-hook-sockets/commit/0533a4864b1920fd8fbb5287bc0889193c5faf44","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails-hook-sockets/commit/0533a4864b1920fd8fbb5287bc0889193c5faf44"},{"reference_url":"https://github.com/balderdashy/sails-hook-sockets/commit/ff02114eaec090ee51db48435cc32d451662606e","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails-hook-sockets/commit/ff02114eaec090ee51db48435cc32d451662606e"},{"reference_url":"https://nvd.nist.gov/vuln/detail/CVE-2018-21036","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-21036"},{"reference_url":"http://www.openwall.com/lists/oss-security/2020/07/19/1","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"http://www.openwall.com/lists/oss-security/2020/07/19/1"},{"reference_url":"https://github.com/advisories/GHSA-f7f4-hqp2-7prc","reference_id":"GHSA-f7f4-hqp2-7prc","reference_type":"","scores":[{"value":"HIGH","scoring_system":"cvssv3.1_qr","scoring_elements":""}],"url":"https://github.com/advisories/GHSA-f7f4-hqp2-7prc"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/452082?format=json","purl":"pkg:npm/sails@1.0.1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-cmtf-52fn-affs"},{"vulnerability":"VCID-mk1r-nx3s-5ueq"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/sails@1.0.1"}],"aliases":["CVE-2018-21036","GHSA-f7f4-hqp2-7prc"],"risk_score":null,"exploitability":null,"weighted_severity":null,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-2cq3-qkxr-jygw"},{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/115779?format=json","vulnerability_id":"VCID-6n98-1mzf-8fgm","summary":"Broken CORS\nSails has an issue with the CORS configuration where the value of the origin header is reflected as the value for the Access-Control-Allow-Origin header. This would allow an attacker to make AJAX requests to vulnerable hosts through cross site scripting or a malicious HTML Document, effectively bypassing the Same Origin Policy. Note that this is only an issue when `allRoutes` is set to `true` and `origin` is set to `*` or left commented out in the sails CORS config file. The problem can be compounded when the cors `credentials` setting is not provided. At that point authenticated cross domain requests are possible.","references":[{"reference_url":"http://sailsjs.org/documentation/concepts/security/cors","reference_id":"","reference_type":"","scores":[],"url":"http://sailsjs.org/documentation/concepts/security/cors"},{"reference_url":"http://sailsjs.org/documentation/reference/configuration/sails-config-cors","reference_id":"","reference_type":"","scores":[],"url":"http://sailsjs.org/documentation/reference/configuration/sails-config-cors"},{"reference_url":"https://github.com/balderdashy/sails/commit/ca43e0507af79f15361789a3489013b01c8e1825","reference_id":"","reference_type":"","scores":[],"url":"https://github.com/balderdashy/sails/commit/ca43e0507af79f15361789a3489013b01c8e1825"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/83143?format=json","purl":"pkg:npm/sails@0.12.7","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-2cq3-qkxr-jygw"},{"vulnerability":"VCID-cmtf-52fn-affs"},{"vulnerability":"VCID-mk1r-nx3s-5ueq"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/sails@0.12.7"}],"aliases":["GMS-2016-74"],"risk_score":null,"exploitability":null,"weighted_severity":null,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-6n98-1mzf-8fgm"},{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/51561?format=json","vulnerability_id":"VCID-cmtf-52fn-affs","summary":"Prototype Pollution in Sails.js\nSails.js <= 1.5.2 is vulnerable to Prototype Pollution via controller/load-action-modules.js, function loadActionModules(). A [patch](https://github.com/balderdashy/sails/commit/7c5379a656bb305c958df1dcc2b51a9668830358) is available in the `master` branch of Sails.js's GItHub repository.","references":[{"reference_url":"https://api.first.org/data/v1/epss?cve=CVE-2021-44908","reference_id":"","reference_type":"","scores":[{"value":"0.00456","scoring_system":"epss","scoring_elements":"0.64169","published_at":"2026-05-29T12:55:00Z"}],"url":"https://api.first.org/data/v1/epss?cve=CVE-2021-44908"},{"reference_url":"https://github.com/balderdashy/sails","reference_id":"","reference_type":"","scores":[{"value":"9.8","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails"},{"reference_url":"https://github.com/balderdashy/sails/blob/master/lib/app/private/controller/load-action-modules.js#L32","reference_id":"","reference_type":"","scores":[{"value":"9.8","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails/blob/master/lib/app/private/controller/load-action-modules.js#L32"},{"reference_url":"https://github.com/balderdashy/sails/commit/7c5379a656bb305c958df1dcc2b51a9668830358","reference_id":"","reference_type":"","scores":[{"value":"9.8","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails/commit/7c5379a656bb305c958df1dcc2b51a9668830358"},{"reference_url":"https://github.com/balderdashy/sails/issues/7209","reference_id":"","reference_type":"","scores":[{"value":"9.8","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails/issues/7209"},{"reference_url":"https://github.com/Marynk/JavaScript-vulnerability-detection/blob/main/sailsJS%20PoC.zip","reference_id":"","reference_type":"","scores":[{"value":"9.8","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/Marynk/JavaScript-vulnerability-detection/blob/main/sailsJS%20PoC.zip"},{"reference_url":"https://nvd.nist.gov/vuln/detail/CVE-2021-44908","reference_id":"","reference_type":"","scores":[{"value":"9.8","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-44908"},{"reference_url":"https://github.com/advisories/GHSA-8v3j-jfg3-v3fv","reference_id":"GHSA-8v3j-jfg3-v3fv","reference_type":"","scores":[{"value":"CRITICAL","scoring_system":"cvssv3.1_qr","scoring_elements":""}],"url":"https://github.com/advisories/GHSA-8v3j-jfg3-v3fv"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/371514?format=json","purl":"pkg:npm/sails@1.4.1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-mk1r-nx3s-5ueq"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/sails@1.4.1"}],"aliases":["CVE-2021-44908","GHSA-8v3j-jfg3-v3fv"],"risk_score":null,"exploitability":null,"weighted_severity":null,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-cmtf-52fn-affs"},{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/38215?format=json","vulnerability_id":"VCID-mk1r-nx3s-5ueq","summary":"DoS vulnerability for apps with sockets enabled\n### Impact\nIn Sails apps <=v1.5.6, an attacker can send a virtual request that will cause the node process to crash. \n\n### Patches\nThis behavior was fixed in Sails [v1.5.7](https://github.com/balderdashy/sails/releases/tag/v1.5.7)\n\n### Workarounds\nDisable the sockets hook and remove the `sails.io.js` client\n\n### References\nhttps://github.com/balderdashy/sails/pull/7287\n\nBig thanks to @ThomasRinsma at [Codean](https://www.linkedin.com/company/codeanio/)!","references":[{"reference_url":"https://api.first.org/data/v1/epss?cve=CVE-2023-38504","reference_id":"","reference_type":"","scores":[{"value":"0.003","scoring_system":"epss","scoring_elements":"0.5355","published_at":"2026-05-29T12:55:00Z"}],"url":"https://api.first.org/data/v1/epss?cve=CVE-2023-38504"},{"reference_url":"https://github.com/balderdashy/sails","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails"},{"reference_url":"https://github.com/balderdashy/sails/commit/4a023dc5095a4b30fdc8535f705ed34cd22d2f7d","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:N/A:Y/T:P/P:M/B:A/M:M/D:T/2024-10-03T18:36:54Z/"}],"url":"https://github.com/balderdashy/sails/commit/4a023dc5095a4b30fdc8535f705ed34cd22d2f7d"},{"reference_url":"https://github.com/balderdashy/sails/pull/7287","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:N/A:Y/T:P/P:M/B:A/M:M/D:T/2024-10-03T18:36:54Z/"}],"url":"https://github.com/balderdashy/sails/pull/7287"},{"reference_url":"https://github.com/balderdashy/sails/releases/tag/v1.5.7","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:N/A:Y/T:P/P:M/B:A/M:M/D:T/2024-10-03T18:36:54Z/"}],"url":"https://github.com/balderdashy/sails/releases/tag/v1.5.7"},{"reference_url":"https://github.com/balderdashy/sails/security/advisories/GHSA-gpw9-fwm8-7rx7","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:N/A:Y/T:P/P:M/B:A/M:M/D:T/2024-10-03T18:36:54Z/"}],"url":"https://github.com/balderdashy/sails/security/advisories/GHSA-gpw9-fwm8-7rx7"},{"reference_url":"https://nvd.nist.gov/vuln/detail/CVE-2023-38504","reference_id":"","reference_type":"","scores":[{"value":"7.5","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-38504"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/71201?format=json","purl":"pkg:npm/sails@1.5.7","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/sails@1.5.7"}],"aliases":["CVE-2023-38504","GHSA-gpw9-fwm8-7rx7"],"risk_score":null,"exploitability":null,"weighted_severity":null,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-mk1r-nx3s-5ueq"},{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/48164?format=json","vulnerability_id":"VCID-vma2-jg72-tyd6","summary":"Sails before 0.12.7 vulnerable to Broken CORS\nAffected versions of `sails` have an issue with the CORS configuration where the value of the origin header is reflected as the value for the `Access-Control-Allow-Origin` header. This may allow an attacker to make AJAX requests to vulnerable hosts through cross-site scripting or a malicious HTML Document, effectively bypassing the Same Origin Policy. \n\n## Mitigating Factors\n\nThis is only an issue when `allRoutes` is set to `true` and `origin` is set to `*` or left commented out in the sails CORS config file. \n\nThe problem can be compounded when the cors `credentials` setting is not provided, because at that point authenticated cross domain requests are possible.\n\n\n## Recommendation\n\nUpdate to version 0.12.7 or later.\n\nAs this vulnerability is primarily a user error, the patch for the vulnerability will simply cause the application to write an error message to the console when a vulnerable configuration is used in a production environment.\n\nWriting a proper CORS configuration is still the responsibility of the user, so it is necessary to check for the error message after installing the patch. Be sure you are not using `allRoutes: true` with `origin:'*'`, and that you uncomment `origin` and set it to a reasonable value. Ensure that if `origin` is set to `*` that you truly mean for all other websites to be able to make cross-domain requests to your API.\n\nLikewise, ensure `credentials` is uncommented out and set to the appropriate value. Make sure to explicitly set which origins may request resources via CORS.","references":[{"reference_url":"http://sailsjs.org/documentation/concepts/security/cors","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"http://sailsjs.org/documentation/concepts/security/cors"},{"reference_url":"http://sailsjs.org/documentation/reference/configuration/sails-config-cors","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"http://sailsjs.org/documentation/reference/configuration/sails-config-cors"},{"reference_url":"https://api.first.org/data/v1/epss?cve=CVE-2016-10549","reference_id":"","reference_type":"","scores":[{"value":"0.00254","scoring_system":"epss","scoring_elements":"0.48909","published_at":"2026-05-29T12:55:00Z"}],"url":"https://api.first.org/data/v1/epss?cve=CVE-2016-10549"},{"reference_url":"https://github.com/balderdashy/sails","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails"},{"reference_url":"https://github.com/balderdashy/sails/commit/0057123a0321be6758845abbeb4290bf418ce542","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails/commit/0057123a0321be6758845abbeb4290bf418ce542"},{"reference_url":"https://github.com/balderdashy/sails/releases/tag/v0.12.7","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/balderdashy/sails/releases/tag/v0.12.7"},{"reference_url":"https://nodesecurity.io/advisories/148","reference_id":"","reference_type":"","scores":[],"url":"https://nodesecurity.io/advisories/148"},{"reference_url":"https://nvd.nist.gov/vuln/detail/CVE-2016-10549","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://nvd.nist.gov/vuln/detail/CVE-2016-10549"},{"reference_url":"https://www.npmjs.com/advisories/148","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://www.npmjs.com/advisories/148"},{"reference_url":"https://github.com/advisories/GHSA-qmv4-jgp7-mf68","reference_id":"GHSA-qmv4-jgp7-mf68","reference_type":"","scores":[{"value":"HIGH","scoring_system":"cvssv3.1_qr","scoring_elements":""}],"url":"https://github.com/advisories/GHSA-qmv4-jgp7-mf68"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/83143?format=json","purl":"pkg:npm/sails@0.12.7","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-2cq3-qkxr-jygw"},{"vulnerability":"VCID-cmtf-52fn-affs"},{"vulnerability":"VCID-mk1r-nx3s-5ueq"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/sails@0.12.7"}],"aliases":["CVE-2016-10549","GHSA-qmv4-jgp7-mf68"],"risk_score":null,"exploitability":null,"weighted_severity":null,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-vma2-jg72-tyd6"}],"fixing_vulnerabilities":[],"risk_score":null,"resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/sails@0.8.7"}