From f3afe3e51f00f67ed774af6b4148943065f262a4 Mon Sep 17 00:00:00 2001 From: Thiruvadi Rajaraman Date: Sat, 4 Nov 2017 10:41:02 -0700 Subject: ruby: Security fix for CVE-2017-9229 affects ruby < 2.4.1 Signed-off-by: Thiruvadi Rajaraman Signed-off-by: Armin Kuster (cherry picked from commit a636bf8cb5063f349b2af6594b131af6852b3076) Signed-off-by: Armin Kuster --- .../recipes-devtools/ruby/ruby/CVE-2017-9229.patch | 36 ++++++++++++++++++++++ meta/recipes-devtools/ruby/ruby_2.2.5.bb | 1 + 2 files changed, 37 insertions(+) create mode 100644 meta/recipes-devtools/ruby/ruby/CVE-2017-9229.patch diff --git a/meta/recipes-devtools/ruby/ruby/CVE-2017-9229.patch b/meta/recipes-devtools/ruby/ruby/CVE-2017-9229.patch new file mode 100644 index 0000000000..75bdfada57 --- /dev/null +++ b/meta/recipes-devtools/ruby/ruby/CVE-2017-9229.patch @@ -0,0 +1,36 @@ +commit b690371bbf97794b4a1d3f295d4fb9a8b05d402d +Author: K.Kosako +Date: Wed May 24 10:27:04 2017 +0900 + + fix #59 : access to invalid address by reg->dmax value + +Upstream-Status: Backport + +CVE: CVE-2017-9229 +Signed-off-by: Thiruvadi Rajaraman + +Index: ruby-2.2.5/regexec.c +=================================================================== +--- ruby-2.2.5.orig/regexec.c 2017-09-13 12:17:08.429254209 +0530 ++++ ruby-2.2.5/regexec.c 2017-09-13 12:24:03.365312311 +0530 +@@ -3763,6 +3763,12 @@ + } + else { + if (reg->dmax != ONIG_INFINITE_DISTANCE) { ++ if (p - str < reg->dmax) { ++ *low = (UChar* )str; ++ if (low_prev) ++ *low_prev = onigenc_get_prev_char_head(reg->enc, str, *low, end); ++ } ++ else { + *low = p - reg->dmax; + if (*low > s) { + *low = onigenc_get_right_adjust_char_head_with_prev(reg->enc, s, +@@ -3776,6 +3782,7 @@ + *low_prev = onigenc_get_prev_char_head(reg->enc, + (pprev ? pprev : str), *low, end); + } ++ } + } + } + /* no needs to adjust *high, *high is used as range check only */ diff --git a/meta/recipes-devtools/ruby/ruby_2.2.5.bb b/meta/recipes-devtools/ruby/ruby_2.2.5.bb index 3254ec5700..6bb68ef4fd 100644 --- a/meta/recipes-devtools/ruby/ruby_2.2.5.bb +++ b/meta/recipes-devtools/ruby/ruby_2.2.5.bb @@ -8,6 +8,7 @@ SRC_URI += "file://prevent-gc.patch \ file://CVE-2017-9227.patch \ file://CVE-2017-9228.patch \ file://CVE-2017-9226.patch \ + file://CVE-2017-9229.patch \ " # it's unknown to configure script, but then passed to extconf.rb -- cgit 1.2.3-korg