From: Peter Korsgaard <peter@korsgaard.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH-2020.02.x] package/ruby: add upstream security fix for CVE-2020-25613
Date: Tue, 15 Dec 2020 17:36:01 +0100 [thread overview]
Message-ID: <20201215163602.8947-1-peter@korsgaard.com> (raw)
For details, see the advisory:
https://www.ruby-lang.org/en/news/2020/09/29/http-request-smuggling-cve-2020-25613/
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
| 43 +++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 package/ruby/0001-Make-it-more-strict-to-interpret-some-headers.patch
--git a/package/ruby/0001-Make-it-more-strict-to-interpret-some-headers.patch b/package/ruby/0001-Make-it-more-strict-to-interpret-some-headers.patch
new file mode 100644
index 0000000000..f76de95ff5
--- /dev/null
+++ b/package/ruby/0001-Make-it-more-strict-to-interpret-some-headers.patch
@@ -0,0 +1,43 @@
+From 8946bb38b4d87549f0d99ed73c62c41933f97cc7 Mon Sep 17 00:00:00 2001
+From: Yusuke Endoh <mame@ruby-lang.org>
+Date: Tue, 29 Sep 2020 13:15:58 +0900
+Subject: [PATCH] Make it more strict to interpret some headers
+
+Some regexps were too tolerant.
+
+[Peter: fixes CVE-2020-25613, upstream:
+ https://github.com/ruby/webrick/commit/8946bb38b4d87549f0d99ed73c62c41933f97cc7
+]
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ lib/webrick/httprequest.rb | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/lib/webrick/httprequest.rb b/lib/webrick/httprequest.rb
+index 294bd91..d34eac7 100644
+--- a/lib/webrick/httprequest.rb
++++ b/lib/webrick/httprequest.rb
+@@ -227,9 +227,9 @@ module WEBrick
+ raise HTTPStatus::BadRequest, "bad URI `#{@unparsed_uri}'."
+ end
+
+- if /close/io =~ self["connection"]
++ if /\Aclose\z/io =~ self["connection"]
+ @keep_alive = false
+- elsif /keep-alive/io =~ self["connection"]
++ elsif /\Akeep-alive\z/io =~ self["connection"]
+ @keep_alive = true
+ elsif @http_version < "1.1"
+ @keep_alive = false
+@@ -508,7 +508,7 @@ module WEBrick
+ return unless socket
+ if tc = self['transfer-encoding']
+ case tc
+- when /chunked/io then read_chunked(socket, block)
++ when /\Achunked\z/io then read_chunked(socket, block)
+ else raise HTTPStatus::NotImplemented, "Transfer-Encoding: #{tc}."
+ end
+ elsif self['content-length'] || @remaining_size
+--
+2.20.1
+
--
2.20.1
next reply other threads:[~2020-12-15 16:36 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-15 16:36 Peter Korsgaard [this message]
2020-12-19 7:37 ` [Buildroot] [PATCH-2020.02.x] package/ruby: add upstream security fix for CVE-2020-25613 Peter Korsgaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201215163602.8947-1-peter@korsgaard.com \
--to=peter@korsgaard.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox