Ecosyste.ms: Advisories
An open API service providing security vulnerability metadata for many open source software ecosystems.
Security Advisories: GSA_kwCzR0hTQS13M2o0LTc2cXctd3dqbc0VnQ
Older releases of better_errors open to Cross-Site Request Forgery attack
Impact
better_errors prior to 2.8.0 did not implement CSRF protection for its internal requests. It also did not enforce the correct "Content-Type" header for these requests, which allowed a cross-origin "simple request" to be made without CORS protection. These together left an application with better_errors enabled open to cross-origin attacks.
As a developer tool, better_errors documentation strongly recommends addition only to the development
bundle group, so this vulnerability should only affect development environments. Please ensure that your project limits better_errors to the development
group (or the non-Rails equivalent).
Patches
Starting with release 2.8.x, CSRF protection is enforced. It is recommended that you upgrade to the latest release, or minimally to "~> 2.8.3".
Workarounds
There are no known workarounds to mitigate the risk of using older releases of better_errors.
References
- Chris Moberly provided an example attack that uses a now-patched vulnerability of webpack-dev-server in conjunction with Better Errors
For more information
If you have any questions or comments about this advisory, please
- Add to the discussion in better_errors
- Open an issue in better_errors
JSON: https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13M2o0LTc2cXctd3dqbc0VnQ
Source: GitHub Advisory Database
Origin: Unspecified
Severity: Moderate
Classification: General
Published: about 3 years ago
Updated: over 1 year ago
CVSS Score: 6.3
CVSS vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
Identifiers: GHSA-w3j4-76qw-wwjm, CVE-2021-39197
References:
- https://github.com/BetterErrors/better_errors/security/advisories/GHSA-w3j4-76qw-wwjm
- https://github.com/BetterErrors/better_errors/pull/474
- https://github.com/BetterErrors/better_errors/commit/8e8e796bfbde4aa088741823c8a3fc6df2089bb0
- https://nvd.nist.gov/vuln/detail/CVE-2021-39197
- https://github.com/BetterErrors/better_errors/discussions/507
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/better_errors/CVE-2021-39197.yml
- https://github.com/advisories/GHSA-w3j4-76qw-wwjm
Blast Radius: 30.4
Affected Packages
rubygems:better_errors
Dependent packages: 136Dependent repositories: 67,968
Downloads: 83,292,984 total
Affected Version Ranges: < 2.8.0
Fixed in: 2.8.0
All affected versions: 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.1.0, 0.1.1, 0.2.0, 0.3.0, 0.3.2, 0.5.0, 0.6.0, 0.7.0, 0.7.2, 0.8.0, 0.9.0, 1.0.0, 1.0.1, 1.1.0, 2.0.0, 2.1.0, 2.1.1, 2.2.0, 2.3.0, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 2.7.0, 2.7.1
All unaffected versions: 2.8.0, 2.8.1, 2.8.2, 2.8.3, 2.9.0, 2.9.1, 2.10.0, 2.10.1