CGI has Regular Expression Denial of Service (ReDoS) potential in Util#escapeElement
Moderate severity
GitHub Reviewed
Published
Mar 3, 2025
to the GitHub Advisory Database
•
Updated Mar 4, 2025
Package
Affected versions
< 0.3.5.1
= 0.3.6
>= 0.4.0, < 0.4.2
Patched versions
0.3.5.1
0.3.7
0.4.2
Description
Published to the GitHub Advisory Database
Mar 3, 2025
Reviewed
Mar 3, 2025
Published by the National Vulnerability Database
Mar 4, 2025
Last updated
Mar 4, 2025
There is a possibility for Regular expression Denial of Service (ReDoS) by in the cgi gem. This vulnerability has been assigned the CVE identifier CVE-2025-27220. We recommend upgrading the cgi gem.
Details
The regular expression used in
CGI::Util#escapeElement
is vulnerable to ReDoS. The crafted input could lead to a high CPU consumption.This vulnerability only affects Ruby 3.1 and 3.2. If you are using these versions, please update CGI gem to version 0.3.5.1, 0.3.7, 0.4.2 or later.
Affected versions
cgi gem versions <= 0.3.5, 0.3.6, 0.4.0 and 0.4.1.
Credits
Thanks to svalkanov for discovering this issue.
Also thanks to nobu for fixing this vulnerability.
References