Logo
vulnerabilityCVE-2024-49761
Name
CVE-2024-49761
Source
NVD ( link)Debian ( link)
Description
REXML is an XML toolkit for Ruby. 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. The REXML gem 3.3.9 or later include the patch to fix the vulnerability.
Published Date
Updated Date
Workaround
-

Analysis#


Affected Component
Analysis
ruby
Patched

Vulnerability Ratings#


6.6
CVSSv4
7.5
CVSSv31
NaN
other

Others affected components#


Name
Project
Project Version
Version
Status
buildroot
2025.02.x
3.4.9
Not Affected
buildroot
master
4.0.3
Not Affected
openwrt
master
4.0.2-r1
Not Affected
openwrt
openwrt-25.12
3.4.9-r1
Not Affected
yocto
master
4.0.5
Not Affected
yocto
scarthgap
3.3.10
Not Affected

Resolved with patches#


ruby (yocto:kirkstone)

#
Title
Author
Resolve
1
parser: fix a bug that &#0x...; is accepted as a character
Sutou Kouhei <kou@clear-code.com>
CVE-2024-49761
2
Use string scanner with baseparser (#105)
NAITOH Jun <naitoh@gmail.com>
CVE-2024-49761
3
Change loop in parse_attributes to `while true`. (#109)
NAITOH Jun <naitoh@gmail.com>
CVE-2024-49761
4
Use `@scanner << readline` instead of `@scanner.string =
NAITOH Jun <naitoh@gmail.com>
CVE-2024-49761
5
Reduce calls to `Source#buffer`(`StringScanner#rest`) (#106)
NAITOH Jun <naitoh@gmail.com>
CVE-2024-49761
6
Reduce calls to StringScanner.new() (#108)
NAITOH Jun <naitoh@gmail.com>
CVE-2024-49761
7
Remove unnecessary checks in baseparser (#112)
NAITOH Jun <naitoh@gmail.com>
CVE-2024-49761
8
Optimize BaseParser#unnormalize method (#158)
NAITOH Jun <naitoh@gmail.com>
CVE-2024-49761
9
Use more StringScanner based API to parse XML (#114)
NAITOH Jun <naitoh@gmail.com>
CVE-2024-49761