diff --git a/8d7970b8f3db727fe798b65f3377fe6787575426.patch b/8d7970b8f3db727fe798b65f3377fe6787575426.patch new file mode 100644 index 0000000..5d7c51b --- /dev/null +++ b/8d7970b8f3db727fe798b65f3377fe6787575426.patch @@ -0,0 +1,37 @@ +From 8d7970b8f3db727fe798b65f3377fe6787575426 Mon Sep 17 00:00:00 2001 +From: Paul Mackerras +Date: Mon, 3 Feb 2020 15:53:28 +1100 +Subject: [PATCH] pppd: Fix bounds check in EAP code + +Given that we have just checked vallen < len, it can never be the case +that vallen >= len + sizeof(rhostname). This fixes the check so we +actually avoid overflowing the rhostname array. + +Reported-by: Ilja Van Sprundel +Signed-off-by: Paul Mackerras +--- + pppd/eap.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/pppd/eap.c b/pppd/eap.c +index 94407f56..1b93db01 100644 +--- a/pppd/eap.c ++++ b/pppd/eap.c +@@ -1420,7 +1420,7 @@ int len; + } + + /* Not so likely to happen. */ +- if (vallen >= len + sizeof (rhostname)) { ++ if (len - vallen >= sizeof (rhostname)) { + dbglog("EAP: trimming really long peer name down"); + BCOPY(inp + vallen, rhostname, sizeof (rhostname) - 1); + rhostname[sizeof (rhostname) - 1] = '\0'; +@@ -1846,7 +1846,7 @@ int len; + } + + /* Not so likely to happen. */ +- if (vallen >= len + sizeof (rhostname)) { ++ if (len - vallen >= sizeof (rhostname)) { + dbglog("EAP: trimming really long peer name down"); + BCOPY(inp + vallen, rhostname, sizeof (rhostname) - 1); + rhostname[sizeof (rhostname) - 1] = '\0'; diff --git a/ppp.spec b/ppp.spec index 5df58f3..5706830 100644 --- a/ppp.spec +++ b/ppp.spec @@ -41,6 +41,9 @@ Patch13: ppp-2.4.7-nostrip.patch Patch14: ppp-2.4.7-linux48.patch Patch15: ppp-2.4.7-eaptls-mppe-1.101_CVE-2018-11574.patch Patch16: FEDORA-glibc-2.28.patch +# CVE-2020-8597 +# remote code execution +Patch17: 8d7970b8f3db727fe798b65f3377fe6787575426.patch BuildRequires: libtool BuildRequires: atm-devel BuildRequires: pcap-devel @@ -211,6 +214,7 @@ popd %patch13 -p1 -b .nostrip %patch14 -p1 -b .linux48 %patch15 -p1 +%patch17 -p1 patch -p1 < %{PATCH16} tar -xJf %{SOURCE112}