From owner-svn-ports-branches@freebsd.org Sun Aug 20 07:59:28 2017 Return-Path: Delivered-To: svn-ports-branches@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F3424DE5EDE; Sun, 20 Aug 2017 07:59:27 +0000 (UTC) (envelope-from kwm@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD0E17C12A; Sun, 20 Aug 2017 07:59:27 +0000 (UTC) (envelope-from kwm@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v7K7xRal087345; Sun, 20 Aug 2017 07:59:27 GMT (envelope-from kwm@FreeBSD.org) Received: (from kwm@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v7K7xQ88087343; Sun, 20 Aug 2017 07:59:26 GMT (envelope-from kwm@FreeBSD.org) Message-Id: <201708200759.v7K7xQ88087343@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kwm set sender to kwm@FreeBSD.org using -f From: Koop Mast Date: Sun, 20 Aug 2017 07:59:26 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-branches@freebsd.org Subject: svn commit: r448360 - in branches/2017Q3/devel/libsoup: . files X-SVN-Group: ports-branches X-SVN-Commit-Author: kwm X-SVN-Commit-Paths: in branches/2017Q3/devel/libsoup: . files X-SVN-Commit-Revision: 448360 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-branches@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for all the branches of the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Aug 2017 07:59:28 -0000 Author: kwm Date: Sun Aug 20 07:59:26 2017 New Revision: 448360 URL: https://svnweb.freebsd.org/changeset/ports/448360 Log: MFH: r448358 Fix CVE-2017-2885 Obtained from: libsoup upstream Security: 8e7bbddd-8338-11e7-867f-b499baebfeaf Approved by: ports-secteam@ (delphij@) Added: branches/2017Q3/devel/libsoup/files/patch-libsoup_soup-filter-input-stream.c - copied unchanged from r448358, head/devel/libsoup/files/patch-libsoup_soup-filter-input-stream.c Modified: branches/2017Q3/devel/libsoup/Makefile Directory Properties: branches/2017Q3/ (props changed) Modified: branches/2017Q3/devel/libsoup/Makefile ============================================================================== --- branches/2017Q3/devel/libsoup/Makefile Sun Aug 20 07:54:09 2017 (r448359) +++ branches/2017Q3/devel/libsoup/Makefile Sun Aug 20 07:59:26 2017 (r448360) @@ -3,6 +3,7 @@ PORTNAME= libsoup PORTVERSION= 2.52.2 +PORTREVISION= 1 CATEGORIES= devel gnome MASTER_SITES= GNOME DIST_SUBDIR= gnome2 Copied: branches/2017Q3/devel/libsoup/files/patch-libsoup_soup-filter-input-stream.c (from r448358, head/devel/libsoup/files/patch-libsoup_soup-filter-input-stream.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ branches/2017Q3/devel/libsoup/files/patch-libsoup_soup-filter-input-stream.c Sun Aug 20 07:59:26 2017 (r448360, copy of r448358, head/devel/libsoup/files/patch-libsoup_soup-filter-input-stream.c) @@ -0,0 +1,58 @@ +From 03c91c76daf70ee227f38304c5e45a155f45073d Mon Sep 17 00:00:00 2001 +From: Dan Winship +Date: Thu, 3 Aug 2017 09:56:43 -0400 +Subject: Fix chunked decoding buffer overrun (CVE-2017-2885) + +https://bugzilla.gnome.org/show_bug.cgi?id=785774 +--- + libsoup/soup-filter-input-stream.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/libsoup/soup-filter-input-stream.c b/libsoup/soup-filter-input-stream.c +index cde4d12..2c30bf9 100644 +--- libsoup/soup-filter-input-stream.c ++++ libsoup/soup-filter-input-stream.c +@@ -198,7 +198,7 @@ soup_filter_input_stream_read_until (SoupFilterInputStream *fstream, + GCancellable *cancellable, + GError **error) + { +- gssize nread; ++ gssize nread, read_length; + guint8 *p, *buf, *end; + gboolean eof = FALSE; + GError *my_error = NULL; +@@ -251,10 +251,11 @@ soup_filter_input_stream_read_until (SoupFilterInputStream *fstream, + } else + buf = fstream->priv->buf->data; + +- /* Scan for the boundary */ +- end = buf + fstream->priv->buf->len; +- if (!eof) +- end -= boundary_length; ++ /* Scan for the boundary within the range we can possibly return. */ ++ if (include_boundary) ++ end = buf + MIN (fstream->priv->buf->len, length) - boundary_length; ++ else ++ end = buf + MIN (fstream->priv->buf->len - boundary_length, length); + for (p = buf; p <= end; p++) { + if (*p == *(guint8*)boundary && + !memcmp (p, boundary, boundary_length)) { +@@ -268,10 +269,9 @@ soup_filter_input_stream_read_until (SoupFilterInputStream *fstream, + if (!*got_boundary && fstream->priv->buf->len < length && !eof) + goto fill_buffer; + +- /* Return everything up to 'p' (which is either just after the boundary if +- * include_boundary is TRUE, just before the boundary if include_boundary is +- * FALSE, @boundary_len - 1 bytes before the end of the buffer, or end-of- +- * file). +- */ +- return read_from_buf (fstream, buffer, p - buf); ++ if (eof && !*got_boundary) ++ read_length = MIN (fstream->priv->buf->len, length); ++ else ++ read_length = p - buf; ++ return read_from_buf (fstream, buffer, read_length); + } +-- +cgit v0.12 +