rexml 3.2.2
REXML ReDoS vulnerability
high severity CVE-2024-49761>= 3.3.9
Impact
The REXML gem before 3.3.9 has a ReDoS vulnerability when it
parses an XML that has many digits between &#
and x...;
in a hex numeric character reference (&#x...;
).
This does not happen with Ruby 3.2 or later. Ruby 3.1 is the only affected maintained Ruby. Note that Ruby 3.1 will reach EOL on 2025-03.
Patches
The REXML gem 3.3.9 or later include the patch to fix the vulnerability.
Workarounds
Use Ruby 3.2 or later instead of Ruby 3.1.
References
XML round-trip vulnerability in REXML
high severity CVE-2021-28965~> 3.1.9.1
, ~> 3.2.3.1
, >= 3.2.5
When parsing and serializing a crafted XML document, REXML gem (including the one bundled with Ruby) can create a wrong XML document whose structure is different from the original one.
REXML denial of service vulnerability
medium severity CVE-2024-43398>= 3.3.6
Impact
The REXML gem before 3.3.6 has a DoS vulnerability when it parses an XML that has many deep elements that have same local name attributes.
If you need to parse untrusted XMLs with tree parser API like
REXML::Document.new
, you may be impacted to this vulnerability.
If you use other parser APIs such as stream parser API and SAX2
parser API, this vulnerability is not affected.
This vulnerability has been assigned the CVE identifier CVE-2024-43398. We strongly recommend upgrading the REXML gem.
Patches
The REXML gem 3.3.6 or later include the patch to fix the vulnerability.
Workarounds
Don't parse untrusted XMLs with tree parser API.
Affected versions
REXML gem 3.3.5 or prior
Credits
Thanks to l33thaxor for discovering this issue.
History
Originally published at 2024-08-22 03:00:00 (UTC)
DoS vulnerabilities in REXML
medium severity CVE-2024-41946>= 3.3.3
There is a DoS vulnerability in REXML gem. This vulnerability has been assigned the CVE identifier CVE-2024-41946. We strongly recommend upgrading the REXML gem.
Details
When parsing an XML that has many entity expansions with SAX2 or pull parser API, REXML gem may take long time.
Please update REXML gem to version 3.3.3 or later.
Affected versions
- REXML gem 3.3.2 or prior
Credits
Thanks to NAITOH Jun for discovering and fixing this issue.
History
Originally published at 2024-08-01 03:00:00 (UTC)
DoS vulnerabilities in REXML
medium severity CVE-2024-41123>= 3.3.3
There are some DoS vulnerabilities in REXML gem. These vulnerabilities have been assigned the CVE identifier CVE-2024-41123. We strongly recommend upgrading the REXML gem.
Details
When parsing an XML document that has many specific characters such as whitespace character, >] and ]>, REXML gem may take long time.
Please update REXML gem to version 3.3.3 or later.
Affected versions
- REXML gem 3.3.2 or prior
Credits
Thanks to mprogrammer and scyoon for discovering these issues.
History
Originally published at 2024-08-01 03:00:00 (UTC)
DoS in REXML
medium severity CVE-2024-39908>= 3.3.2
There is a DoS vulnerability in REXML gem. This vulnerability has been assigned the CVE identifier CVE-2024-39908. We strongly recommend upgrading the REXML gem.
Details
When it parses an XML that has many specific characters such as <, 0 and %>. REXML gem may take long time.
Please update REXML gem to version 3.3.2 or later.
Affected versions
REXML gem 3.3.2 or prior
Credits
Thanks to mprogrammer for discovering this issue.
History
Originally published at 2024-07-16 03:00:00 (UTC)
REXML contains a denial of service vulnerability
medium severity CVE-2024-35176>= 3.2.7
Impact
The REXML gem before 3.2.6 has a DoS vulnerability when it
parses an XML that has many <
s in an attribute value.
If you need to parse untrusted XMLs, you many be impacted to this vulnerability.
Patches
The REXML gem 3.2.7 or later include the patch to fix this vulnerability.
Workarounds
Don't parse untrusted XMLs.
References
No officially reported memory leakage issues detected.
This gem version does not have any officially reported memory leaked issues.
No license issues detected.
This gem version has a license in the gemspec.
This gem version is available.
This gem version has not been yanked and is still available for usage.