CVE-2021-43805 ReDos vulnerability on guest checkout email validation
Attackers can cause denial of service in Solidus guest checkout via exponential backtracking in email validation regex.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-43805?
CVE-2021-43805 is a high-severity denial of service vulnerability in solidusio solidus, published on 7 Dec 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Solidus is a free, open-source ecommerce platform built on Rails. Versions of Solidus prior to 3.1.4, 3.0.4, and 2.11.13 have a denial of service vulnerability that could be exploited during a guest checkout. The regular expression used to validate a guest order's email was subject to exponential backtracking through a fragment like `a.a.` Versions 3.1.4, 3.0.4, and 2.11.13 have been patched to use a different regular expression. The maintainers added a check for email addresses that are no longer valid that will print information about any affected orders that exist. If a prompt upgrade is not an option, a workaround is available. It is possible to edit the file `config/application.rb` manually (with code provided by the maintainers in the GitHub Security Advisory) to check email validity.
Weakness: CWE-1333
Which versions are affected by CVE-2021-43805?
6 open source packages ship an affected version, including solidus_core. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
solidus_core RubyGems | All versions | 2.11.13 |
solidus_core RubyGems | All versions | 2.11.13 |
solidus_core RubyGems | From 3.0.0 | 3.0.4 |
solidus_core RubyGems | From 3.0.0 | 3.0.4 |
solidus_core RubyGems | From 3.1.0 | 3.1.4 |
solidus_core RubyGems | From 3.1.0 | 3.1.4 |
Products include Nebulab Solidus.
How do I fix CVE-2021-43805?
Upgrade solidus_core to a fixed version for your release line: 2.11.13, 3.0.4 or 3.1.4.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2021-43805 being exploited?
There is no known exploitation of CVE-2021-43805 in the wild and no public exploit code.
Other vulnerabilities in solidusio solidus
Sources
Also known as GHSA-qxmr-qxh6-2cc9.