Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This commit is contained in:
Marc-André Lureau 2019-12-04 18:45:13 +04:00
parent d7af790873
commit e4a8b4c6dd
4 changed files with 8 additions and 43 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
/libslirp-v4.0.0.tar.gz
/libslirp-v4.1.0.tar.gz

View File

@ -1,38 +0,0 @@
From 126c04acbabd7ad32c2b018fe10dfac2a3bc1210 Mon Sep 17 00:00:00 2001
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Sun, 28 Jul 2019 19:11:24 +0200
Subject: [PATCH] Fix heap overflow in ip_reass on big packet input
When the first fragment does not fit in the preallocated buffer, q will
already be pointing to the ext buffer, so we mustn't try to update it.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
src/ip_input.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/ip_input.c b/src/ip_input.c
index 50c7657..8c75d91 100644
--- a/src/ip_input.c
+++ b/src/ip_input.c
@@ -326,6 +326,8 @@ insert:
q = fp->frag_link.next;
m = dtom(slirp, q);
+ int was_ext = m->m_flags & M_EXT;
+
q = (struct ipasfrag *)q->ipf_next;
while (q != (struct ipasfrag *)&fp->frag_link) {
struct mbuf *t = dtom(slirp, q);
@@ -348,7 +350,7 @@ insert:
* the old buffer (in the mbuf), so we must point ip
* into the new buffer.
*/
- if (m->m_flags & M_EXT) {
+ if (!was_ext && m->m_flags & M_EXT) {
int delta = (char *)q - m->m_dat;
q = (struct ipasfrag *)(m->m_ext + delta);
}
--
2.22.0.545.g9c9b961d7e

View File

@ -1,6 +1,6 @@
Name: libslirp
Version: 4.0.0
Release: 3%{?dist}
Version: 4.1.0
Release: 1%{?dist}
Summary: A general purpose TCP-IP emulator
# check the SPDX tags in source files for details
@ -8,7 +8,6 @@ License: BSD and MIT
URL: https://gitlab.freedesktop.org/slirp/%{name}
Source0: %{url}/-/archive/v%{version}/%{name}-v%{version}.tar.gz
Patch0001: 0001-Fix-heap-overflow-in-ip_reass-on-big-packet-input.patch
BuildRequires: git-core
BuildRequires: meson
BuildRequires: gcc
@ -42,7 +41,7 @@ developing applications that use %{name}.
%files
%license COPYRIGHT
%doc README.md
%doc README.md CHANGELOG.md
%{_libdir}/%{name}.so.0*
%files devel
@ -53,6 +52,9 @@ developing applications that use %{name}.
%changelog
* Tue Dec 03 2019 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.1.0-1
- New v4.1.0 release
* Fri Aug 2 2019 Marc-André Lureau <marcandre.lureau@redhat.com> - 4.0.0-3
- Fix CVE-2019-14378, rhbz#1735654

View File

@ -1 +1 @@
SHA512 (libslirp-v4.0.0.tar.gz) = 4d8d4b4a9910d60d6dcf356b26a91ce4c12594a34d5c88a86a2e0b690136bfc6ad0e9dc027db46fcb710e085b51448217f03c9906218903ffeeb22525efd6e0b
SHA512 (libslirp-v4.1.0.tar.gz) = 9ebeb9000bcc23e3e9fcfed49413b04fdf281c1e77820dd6a6d600e3954e63e65db891a496efd9154963e42ee01cf2c108735787070efacc4794bd2cdd4fe215