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

For more information

If you have any questions or comments about this advisory, please

Permalink: https://github.com/advisories/GHSA-w3j4-76qw-wwjm
JSON: https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13M2o0LTc2cXctd3dqbc0VnQ
Source: GitHub Advisory Database
Origin: Unspecified
Severity: Moderate
Classification: General
Published: over 2 years ago
Updated: 12 months 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: Repository: https://github.com/BetterErrors/better_errors
Blast Radius: 30.4

Affected Packages

rubygems:better_errors
Dependent packages: 136
Dependent repositories: 67,968
Downloads: 76,142,367 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