diff options
author | Chee Yang Lee <chee.yang.lee@intel.com> | 2020-11-02 08:44:31 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-11-12 13:06:28 +0000 |
commit | 4e513e2b8683a80255d74d2e96c55635f69b601f (patch) | |
tree | 73c13c404c967ee34dfec12ea2faefdecd3bd176 /meta/recipes-devtools/ruby/ruby/CVE-2020-25613.patch | |
parent | 1272d1b8fcac4c9e2fa8d4f8d3d8cfb03e451254 (diff) | |
download | poky-4e513e2b8683a80255d74d2e96c55635f69b601f.tar.gz |
ruby: fix CVE-2020-25613
(From OE-Core rev: 4e02862b4fcfbf3a9cace8a35e355f156d26ed37)
(From OE-Core rev: a8875221054da40c66366f63d9f61940311b1fbc)
Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/ruby/ruby/CVE-2020-25613.patch')
-rw-r--r-- | meta/recipes-devtools/ruby/ruby/CVE-2020-25613.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/meta/recipes-devtools/ruby/ruby/CVE-2020-25613.patch b/meta/recipes-devtools/ruby/ruby/CVE-2020-25613.patch new file mode 100644 index 0000000000..1abcb7547e --- /dev/null +++ b/meta/recipes-devtools/ruby/ruby/CVE-2020-25613.patch | |||
@@ -0,0 +1,40 @@ | |||
1 | From 8946bb38b4d87549f0d99ed73c62c41933f97cc7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Yusuke Endoh <mame@ruby-lang.org> | ||
3 | Date: Tue, 29 Sep 2020 13:15:58 +0900 | ||
4 | Subject: [PATCH] Make it more strict to interpret some headers | ||
5 | |||
6 | Some regexps were too tolerant. | ||
7 | |||
8 | Upstream-Status: Backport | ||
9 | [https://github.com/ruby/webrick/commit/8946bb38b4d87549f0d99ed73c62c41933f97cc7] | ||
10 | CVE: CVE-2020-25613 | ||
11 | Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com> | ||
12 | --- | ||
13 | lib/webrick/httprequest.rb | 6 +++--- | ||
14 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
15 | |||
16 | diff --git a/lib/webrick/httprequest.rb b/lib/webrick/httprequest.rb | ||
17 | index 294bd91..d34eac7 100644 | ||
18 | --- a/lib/webrick/httprequest.rb | ||
19 | +++ b/lib/webrick/httprequest.rb | ||
20 | @@ -227,9 +227,9 @@ def parse(socket=nil) | ||
21 | raise HTTPStatus::BadRequest, "bad URI `#{@unparsed_uri}'." | ||
22 | end | ||
23 | |||
24 | - if /close/io =~ self["connection"] | ||
25 | + if /\Aclose\z/io =~ self["connection"] | ||
26 | @keep_alive = false | ||
27 | - elsif /keep-alive/io =~ self["connection"] | ||
28 | + elsif /\Akeep-alive\z/io =~ self["connection"] | ||
29 | @keep_alive = true | ||
30 | elsif @http_version < "1.1" | ||
31 | @keep_alive = false | ||
32 | @@ -508,7 +508,7 @@ def read_body(socket, block) | ||
33 | return unless socket | ||
34 | if tc = self['transfer-encoding'] | ||
35 | case tc | ||
36 | - when /chunked/io then read_chunked(socket, block) | ||
37 | + when /\Achunked\z/io then read_chunked(socket, block) | ||
38 | else raise HTTPStatus::NotImplemented, "Transfer-Encoding: #{tc}." | ||
39 | end | ||
40 | elsif self['content-length'] || @remaining_size | ||