Patch "sctp: add size validation when walking chunks" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    sctp: add size validation when walking chunks

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     sctp-add-size-validation-when-walking-chunks.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 9f76624076f61748a04d0d19313413e7ba60b2f4
Author: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx>
Date:   Mon Jun 28 16:13:42 2021 -0300

    sctp: add size validation when walking chunks
    
    [ Upstream commit 50619dbf8db77e98d821d615af4f634d08e22698 ]
    
    The first chunk in a packet is ensured to be present at the beginning of
    sctp_rcv(), as a packet needs to have at least 1 chunk. But the second
    one, may not be completely available and ch->length can be over
    uninitialized memory.
    
    Fix here is by only trying to walk on the next chunk if there is enough to
    hold at least the header, and then proceed with the ch->length validation
    that is already there.
    
    Reported-by: Ilja Van Sprundel <ivansprundel@xxxxxxxxxxxx>
    Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/net/sctp/input.c b/net/sctp/input.c
index 8924e2e142c8..f72bff93745c 100644
--- a/net/sctp/input.c
+++ b/net/sctp/input.c
@@ -1247,7 +1247,7 @@ static struct sctp_association *__sctp_rcv_walk_lookup(struct net *net,
 
 		ch = (struct sctp_chunkhdr *)ch_end;
 		chunk_num++;
-	} while (ch_end < skb_tail_pointer(skb));
+	} while (ch_end + sizeof(*ch) < skb_tail_pointer(skb));
 
 	return asoc;
 }



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux