ReDos vulnerability on guest checkout email validation
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-1333.
Summary
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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| solidusio | solidus | 3.1.0 to before 3.1.4; 3.0.0 to before 3.0.4; before 2.11.13 | 3.1.4, 3.0.4, 2.11.13 | Patch available | CNA |
| — | solidus_core (RubyGems) | before 2.11.13 | 2.11.13 | Patch available | GHSA-qxmr-qxh6-2cc9 |
| — | solidus_core (RubyGems) | 3.0.0 to before 3.0.4 | 3.0.4 | Patch available | GHSA-qxmr-qxh6-2cc9 |
| — | solidus_core (RubyGems) | 3.1.0 to before 3.1.4 | 3.1.4 | Patch available | GHSA-qxmr-qxh6-2cc9 |
- solidus Vendorsolidusio Affected 3.1.0 to before 3.1.4; 3.0.0 to before 3.0.4; before 2.11.13 Fixed in 3.1.4, 3.0.4, 2.11.13 Patch available CNA
- solidus_core (RubyGems) Vendor— Affected before 2.11.13 Fixed in 2.11.13 Patch available GHSA-qxmr-qxh6-2cc9
- solidus_core (RubyGems) Vendor— Affected 3.0.0 to before 3.0.4 Fixed in 3.0.4 Patch available GHSA-qxmr-qxh6-2cc9
- solidus_core (RubyGems) Vendor— Affected 3.1.0 to before 3.1.4 Fixed in 3.1.4 Patch available GHSA-qxmr-qxh6-2cc9
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:nebulab:solidus:*:*:*:*:*:*:*:* | before 2.11.13; 3.0.0 to before 3.0.4; 3.1.0 to before 3.1.4 | Vulnerable | solidusio |
- cpe:2.3:a:nebulab:solidus:*:*:*:*:*:*:*:* Versions before 2.11.13; 3.0.0 to before 3.0.4; 3.1.0 to before 3.1.4 Vulnerable ·solidusio
Remediation
- Fix · CNA solidus (solidusio) Fixed in 3.1.4, 3.0.4, 2.11.13
- Fix · GHSA-qxmr-qxh6-2cc9 solidus_core (RubyGems) Fixed in 2.11.13 Advisory →
- Fix · GHSA-qxmr-qxh6-2cc9 solidus_core (RubyGems) Fixed in 3.0.4 Advisory →
- Fix · GHSA-qxmr-qxh6-2cc9 solidus_core (RubyGems) Fixed in 3.1.4 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2021-43805
- 2026-10-03 Alias added: GHSA-qxmr-qxh6-2cc9
References
More solidusio Solidus vulnerabilities
- TI-2022-13046 CSRF allows attacker to finalize/unfinalize order adjustments in solidus_backend CVSS 3.1MEDIUM 4.3
- TI-2020-11884 Ability to change order address without triggering address validations in solidus CVSS 3.1MEDIUM 5.3
- TI-2021-19652 CSRF forgery protection bypass for Spree::OrdersController#populate CVSS 3.1MEDIUM 5.3
Sources
- CVE-2021-43805 · CVE Program
- CVE-2021-43805 · NVD
- FIRST EPSS
- GHSA-qxmr-qxh6-2cc9 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences