]> Git Repo - linux.git/commitdiff
Smack: type confusion in smak sendmsg() handler
authorRoman Kubiak <[email protected]>
Thu, 17 Dec 2015 12:24:35 +0000 (13:24 +0100)
committerCasey Schaufler <[email protected]>
Thu, 17 Dec 2015 18:21:56 +0000 (10:21 -0800)
Smack security handler for sendmsg() syscall
is vulnerable to type confusion issue what
can allow to privilege escalation into root
or cause denial of service.

A malicious attacker can create socket of one
type for example AF_UNIX and pass is into
sendmsg() function ensuring that this is
AF_INET socket.

Remedy
Do not trust user supplied data.
Proposed fix below.

Signed-off-by: Roman Kubiak <[email protected]>
Signed-off-by: Mateusz Fruba <[email protected]>
Acked-by: Casey Schaufler <[email protected]>
security/smack/smack_lsm.c

index b20ef0602267a0aec8421f3272127fc3804aba7c..0e7703773a97806373c784ac1dbda3d6193e6aec 100644 (file)
@@ -3780,7 +3780,7 @@ static int smack_socket_sendmsg(struct socket *sock, struct msghdr *msg,
        if (sip == NULL)
                return 0;
 
-       switch (sip->sin_family) {
+       switch (sock->sk->sk_family) {
        case AF_INET:
                rc = smack_netlabel_send(sock->sk, sip);
                break;
This page took 0.064968 seconds and 4 git commands to generate.