GitHub Advisoryadvisory · npm
GHSA-qmv4-jgp7-mf68 Sails before 0.12.7 vulnerable to Broken CORS
HIGH
Official page ↗
- Aliases
- CVE-2016-10549
- Ecosystem
- npm
- Packages
- sails
- Severity
- High
- Weaknesses
- CWE-284
- Reviewed
- 2020-06-16
Affected packages
• npm sails: < 0.12.7 → fixed in 0.12.7
Description
Affected 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.
Mitigating Factors
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, because at that point authenticated cross domain requests are possible.
Recommendation
Update to version 0.12.7 or later.
As 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.
Writing 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.
Likewise, ensure `credentials` is uncommented out and set to the appropriate value. Make sure to explicitly set which origins may request resources via CORS.
Related
Alias · CVE (1)
- CVE-2016-10549 Sails is an MVC style framework for building realtime web applications. vulnerability
Weakness · CWE (1)
- CWE-284 Improper Access Control weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2016-10549 advisory
- https://github.com/balderdashy/sails/commit/0057123a0321be6758845abbeb4290bf418ce542 web
- https://github.com/balderdashy/sails package
- https://github.com/balderdashy/sails/releases/tag/v0.12.7 web
- https://www.npmjs.com/advisories/148 web
- http://sailsjs.org/documentation/concepts/security/cors web
- http://sailsjs.org/documentation/reference/configuration/sails-config-cors web