diff options
Diffstat (limited to 'libre/linux-libre-lts/0002-dccp-CVE-2017-8824-use-after-free-in-DCCP-code.patch')
-rw-r--r-- | libre/linux-libre-lts/0002-dccp-CVE-2017-8824-use-after-free-in-DCCP-code.patch | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/libre/linux-libre-lts/0002-dccp-CVE-2017-8824-use-after-free-in-DCCP-code.patch b/libre/linux-libre-lts/0002-dccp-CVE-2017-8824-use-after-free-in-DCCP-code.patch deleted file mode 100644 index da886c8a5..000000000 --- a/libre/linux-libre-lts/0002-dccp-CVE-2017-8824-use-after-free-in-DCCP-code.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 8514970bf07bd1cc522f50e882e0159a51a39264 Mon Sep 17 00:00:00 2001 -Message-Id: <8514970bf07bd1cc522f50e882e0159a51a39264.1516188238.git.jan.steffens@gmail.com> -In-Reply-To: <4e54373158caa50df5402fdd3db1794c5394026b.1516188238.git.jan.steffens@gmail.com> -References: <4e54373158caa50df5402fdd3db1794c5394026b.1516188238.git.jan.steffens@gmail.com> -From: Mohamed Ghannam <simo.ghannam@gmail.com> -Date: Tue, 5 Dec 2017 20:58:35 +0000 -Subject: [PATCH 2/4] dccp: CVE-2017-8824: use-after-free in DCCP code - -Whenever the sock object is in DCCP_CLOSED state, -dccp_disconnect() must free dccps_hc_tx_ccid and -dccps_hc_rx_ccid and set to NULL. - -Signed-off-by: Mohamed Ghannam <simo.ghannam@gmail.com> -Reviewed-by: Eric Dumazet <edumazet@google.com> -Signed-off-by: David S. Miller <davem@davemloft.net> ---- - net/dccp/proto.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/net/dccp/proto.c b/net/dccp/proto.c -index b68168fcc06a..9d43c1f40274 100644 ---- a/net/dccp/proto.c -+++ b/net/dccp/proto.c -@@ -259,25 +259,30 @@ int dccp_disconnect(struct sock *sk, int flags) - { - struct inet_connection_sock *icsk = inet_csk(sk); - struct inet_sock *inet = inet_sk(sk); -+ struct dccp_sock *dp = dccp_sk(sk); - int err = 0; - const int old_state = sk->sk_state; - - if (old_state != DCCP_CLOSED) - dccp_set_state(sk, DCCP_CLOSED); - - /* - * This corresponds to the ABORT function of RFC793, sec. 3.8 - * TCP uses a RST segment, DCCP a Reset packet with Code 2, "Aborted". - */ - if (old_state == DCCP_LISTEN) { - inet_csk_listen_stop(sk); - } else if (dccp_need_reset(old_state)) { - dccp_send_reset(sk, DCCP_RESET_CODE_ABORTED); - sk->sk_err = ECONNRESET; - } else if (old_state == DCCP_REQUESTING) - sk->sk_err = ECONNRESET; - - dccp_clear_xmit_timers(sk); -+ ccid_hc_rx_delete(dp->dccps_hc_rx_ccid, sk); -+ ccid_hc_tx_delete(dp->dccps_hc_tx_ccid, sk); -+ dp->dccps_hc_rx_ccid = NULL; -+ dp->dccps_hc_tx_ccid = NULL; - - __skb_queue_purge(&sk->sk_receive_queue); - __skb_queue_purge(&sk->sk_write_queue); --- -2.15.1 - |