Re: [PATCH] sctp: initialize endpoint LSM labels also on the client side
From: Ondrej Mosnacek <omosnace@redhat.com>
Date: 2021-10-25 07:55:54
Also in:
linux-sctp, lkml, netdev, selinux
From: Ondrej Mosnacek <omosnace@redhat.com>
Date: 2021-10-25 07:55:54
Also in:
linux-sctp, lkml, netdev, selinux
On Fri, Oct 22, 2021 at 8:33 AM Xin Long [off-list ref] wrote:
On Thu, Oct 21, 2021 at 11:55 PM Marcelo Ricardo Leitner [off-list ref] wrote:quoted
On Thu, Oct 21, 2021 at 05:38:46PM +0200, Ondrej Mosnacek wrote:quoted
The secid* fields in struct sctp_endpoint are used to initialize the labels of a peeloff socket created from the given association. Currently they are initialized properly when a new association is created on the server side (upon receiving an INIT packet), but not on the client side.+Cc XinThanks Marcelo, security_sctp_assoc_request() is not supposed to call on the client side, as we can see on TCP. The client side's labels should be set to the connection by selinux_inet_conn_request(). But we can't do it based on the current hooks. The root problem is that the current hooks incorrectly treat sctp_endpoint in SCTP as request_sock in TCP, while it should've been sctp_association. We need a bigger change on the current security sctp code. I will post the patch series in hand, please take a look.
Thanks, your patches indeed seem to do the right thing and they also do pass selinux-testsuite with the added client peeloff tests (as also confirmed by Richard already). I have just a few minor comments, which I'll send as replies to the individual patches. -- Ondrej Mosnacek Software Engineer, Linux Security - SELinux kernel Red Hat, Inc.