Read the docs
TI-2021-19611 Aliases CVE-2021-43805GHSA-qxmr-qxh6-2cc9

ReDos vulnerability on guest checkout email validation

Priority LOW 36CWE-1333Published · Updated

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

EPSS 0.01449 73rd percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed solidus (solidusio): 3.1.4, 3.0.4, 2.11.13solidus_core (RubyGems): 2.11.13, 3.0.4, 3.1.4

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
solidusiosolidus3.1.0 to before 3.1.4; 3.0.0 to before 3.0.4; before 2.11.133.1.4, 3.0.4, 2.11.13Patch availableCNA
—solidus_core (RubyGems)before 2.11.132.11.13Patch availableGHSA-qxmr-qxh6-2cc9
—solidus_core (RubyGems)3.0.0 to before 3.0.43.0.4Patch availableGHSA-qxmr-qxh6-2cc9
—solidus_core (RubyGems)3.1.0 to before 3.1.43.1.4Patch availableGHSA-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

CPEVersionsRoleVendor
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.4Vulnerablesolidusio
  • 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

  1. 2026-10-02 Threatist record created from CVE-2021-43805
  2. 2026-10-03 Alias added: GHSA-qxmr-qxh6-2cc9

References

  • 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