|
| 1 | +From 42ab972c3b93321be351539a24ee95d31523a35d Mon Sep 17 00:00:00 2001 |
| 2 | +From: Saul Paredes <saulparedes@microsoft.com> |
| 3 | +Date: Mon, 4 Nov 2024 12:40:10 -0800 |
| 4 | +Subject: [PATCH] ruby: patch CVE-2024-49761 |
| 5 | + |
| 6 | +Patch adapted from https://github.com/ruby/rexml/commit/ce59f2eb1aeb371fe1643414f06618dbe031979f |
| 7 | +which fixes CVE-2024-49761 per https://nvd.nist.gov/vuln/detail/CVE-2024-49761 |
| 8 | + |
| 9 | +Needed for ruby versions < 3.2.0 |
| 10 | + |
| 11 | +Signed-off-by: Saul Paredes <saulparedes@microsoft.com> |
| 12 | +--- |
| 13 | + .../gems/rexml-3.2.5/lib/rexml/parsers/baseparser.rb | 10 +++++++--- |
| 14 | + 1 file changed, 7 insertions(+), 3 deletions(-) |
| 15 | + |
| 16 | +diff --git a/.bundle/gems/rexml-3.2.5/lib/rexml/parsers/baseparser.rb b/.bundle/gems/rexml-3.2.5/lib/rexml/parsers/baseparser.rb |
| 17 | +index 305b120..4944074 100644 |
| 18 | +--- a/.bundle/gems/rexml-3.2.5/lib/rexml/parsers/baseparser.rb |
| 19 | ++++ b/.bundle/gems/rexml-3.2.5/lib/rexml/parsers/baseparser.rb |
| 20 | +@@ -467,10 +467,14 @@ module REXML |
| 21 | + rv.gsub!( /\r\n?/, "\n" ) |
| 22 | + matches = rv.scan( REFERENCE_RE ) |
| 23 | + return rv if matches.size == 0 |
| 24 | +- rv.gsub!( /�*((?:\d+)|(?:x[a-fA-F0-9]+));/ ) { |
| 25 | ++ rv.gsub!( /&#((?:\d+)|(?:x[a-fA-F0-9]+));/ ) { |
| 26 | + m=$1 |
| 27 | +- m = "0#{m}" if m[0] == ?x |
| 28 | +- [Integer(m)].pack('U*') |
| 29 | ++ if m.start_with?("x") |
| 30 | ++ code_point = Integer(m[1..-1], 16) |
| 31 | ++ else |
| 32 | ++ code_point = Integer(m, 10) |
| 33 | ++ end |
| 34 | ++ [code_point].pack('U*') |
| 35 | + } |
| 36 | + matches.collect!{|x|x[0]}.compact! |
| 37 | + if matches.size > 0 |
| 38 | +-- |
| 39 | +2.25.1 |
| 40 | + |
0 commit comments