lkml.org 
[lkml]   [2011]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[063/152] net: ax25: fix information leak to userland
    2.6.36-stable review patch.  If anyone has any objections, please let us know.

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


    From: Vasiliy Kulikov <segooon@gmail.com>

    [ Upstream commit fe10ae53384e48c51996941b7720ee16995cbcb7 ]

    Sometimes ax25_getname() doesn't initialize all members of fsa_digipeater
    field of fsa struct, also the struct has padding bytes between
    sax25_call and sax25_ndigis fields. This structure is then copied to
    userland. It leads to leaking of contents of kernel stack memory.

    Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    net/ax25/af_ax25.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/net/ax25/af_ax25.c
    +++ b/net/ax25/af_ax25.c
    @@ -1392,6 +1392,7 @@ static int ax25_getname(struct socket *s
    ax25_cb *ax25;
    int err = 0;

    + memset(fsa, 0, sizeof(fsa));
    lock_sock(sk);
    ax25 = ax25_sk(sk);

    @@ -1403,7 +1404,6 @@ static int ax25_getname(struct socket *s

    fsa->fsa_ax25.sax25_family = AF_AX25;
    fsa->fsa_ax25.sax25_call = ax25->dest_addr;
    - fsa->fsa_ax25.sax25_ndigis = 0;

    if (ax25->digipeat != NULL) {
    ndigi = ax25->digipeat->ndigi;



    \
     
     \ /
      Last update: 2011-01-06 01:53    [W:5.983 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site