lkml.org 
[lkml]   [2012]   [Sep]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 017/218] Bluetooth: L2CAP - Fix info leak via getsockname()
    Date
    3.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------


    From: Mathias Krause <minipli@googlemail.com>

    [ Upstream commit 792039c73cf176c8e39a6e8beef2c94ff46522ed ]

    The L2CAP code fails to initialize the l2_bdaddr_type member of struct
    sockaddr_l2 and the padding byte added for alignment. It that for leaks
    two bytes kernel stack via the getsockname() syscall. Add an explicit
    memset(0) before filling the structure to avoid the info leak.

    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Cc: Marcel Holtmann <marcel@holtmann.org>
    Cc: Gustavo Padovan <gustavo@padovan.org>
    Cc: Johan Hedberg <johan.hedberg@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/bluetooth/l2cap_sock.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/net/bluetooth/l2cap_sock.c
    +++ b/net/bluetooth/l2cap_sock.c
    @@ -242,6 +242,7 @@ static int l2cap_sock_getname(struct soc

    BT_DBG("sock %p, sk %p", sock, sk);

    + memset(la, 0, sizeof(struct sockaddr_l2));
    addr->sa_family = AF_BLUETOOTH;
    *len = sizeof(struct sockaddr_l2);




    \
     
     \ /
      Last update: 2012-09-29 02:41    [W:4.362 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site