diff options
author | Justin M. Forbes <jforbes@fedoraproject.org> | 2019-01-09 08:25:07 -0600 |
---|---|---|
committer | Justin M. Forbes <jforbes@fedoraproject.org> | 2019-01-09 08:25:07 -0600 |
commit | 5efd1a1a5aca60d4563f184dbfb1aa9be2441fd6 (patch) | |
tree | 6a1c1d8c37c146f663145d1055e85a47e37cd647 | |
parent | 23f974ff7cbfcc782081a532a95a1a33ff2d0dc5 (diff) | |
download | kernel-5efd1a1a5aca60d4563f184dbfb1aa9be2441fd6.tar.gz kernel-5efd1a1a5aca60d4563f184dbfb1aa9be2441fd6.tar.xz kernel-5efd1a1a5aca60d4563f184dbfb1aa9be2441fd6.zip |
Fix CVE-2019-3701 (rhbz 1663729 1663730)
-rw-r--r-- | CVE-2019-3701.patch | 42 | ||||
-rw-r--r-- | kernel.spec | 6 |
2 files changed, 48 insertions, 0 deletions
diff --git a/CVE-2019-3701.patch b/CVE-2019-3701.patch new file mode 100644 index 000000000..06ee36a63 --- /dev/null +++ b/CVE-2019-3701.patch @@ -0,0 +1,42 @@ +From linux-netdev Thu Jan 03 12:26:34 2019 +From: Oliver Hartkopp <socketcan () hartkopp ! net> +Date: Thu, 03 Jan 2019 12:26:34 +0000 +To: linux-netdev +Subject: [PATCH] can: gw: ensure DLC boundaries after CAN frame modification +Message-Id: <20190103122634.2530-1-socketcan () hartkopp ! net> +X-MARC-Message: https://marc.info/?l=linux-netdev&m=154651842302479 + +The CAN frame modification rules allow bitwise logical operations which can +be also applied to the can_dlc field. Ensure the manipulation result to +maintain the can_dlc boundaries so that the CAN drivers do not accidently +write arbitrary content beyond the data registers in the CAN controllers +I/O mem when processing can-gw manipulated outgoing frames. When passing these +frames to user space this issue did not have any effect to the kernel or any +leaked data as we always strictly copy sizeof(struct can_frame) bytes. + +Reported-by: Muyu Yu <ieatmuttonchuan@gmail.com> +Reported-by: Marcus Meissner <meissner@suse.de> +Tested-by: Muyu Yu <ieatmuttonchuan@gmail.com> +Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net> +Cc: linux-stable <stable@vger.kernel.org> # >= v3.2 +--- + net/can/gw.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/net/can/gw.c b/net/can/gw.c +index faa3da88a127..9000d9b8a133 100644 +--- a/net/can/gw.c ++++ b/net/can/gw.c +@@ -418,6 +418,10 @@ static void can_can_gw_rcv(struct sk_buff *skb, void *data) + + /* check for checksum updates when the CAN frame has been modified */ + if (modidx) { ++ /* ensure DLC boundaries after the different mods */ ++ if (cf->can_dlc > 8) ++ cf->can_dlc = 8; ++ + if (gwj->mod.csumfunc.crc8) + (*gwj->mod.csumfunc.crc8)(cf, &gwj->mod.csum.crc8); + +-- +2.19.2 diff --git a/kernel.spec b/kernel.spec index c2518e3eb..e0597c6ba 100644 --- a/kernel.spec +++ b/kernel.spec @@ -638,6 +638,9 @@ Patch516: asus-fx503-keyb.patch # rhbz 1661961 patch merged upstream in 4.20 Patch517: 0001-Bluetooth-btsdio-Do-not-bind-to-non-removable-BCM434.patch +# CVE-2019-3701 rhbz 1663729 1663730 +Patch518: CVE-2019-3701.patch + # END OF PATCH DEFINITIONS %endif @@ -1899,6 +1902,9 @@ fi # # %changelog +* Tue Jan 07 2019 Justin M. Forbes <jforbes@fedoraproject.org> +- Fix CVE-2019-3701 (rhbz 1663729 1663730) + * Mon Jan 7 2019 Hans de Goede <hdegoede@redhat.com> - Add patch to fix bluetooth on RPI 3B+ registering twice (rhbz#1661961) |