lkml.org 
[lkml]   [2014]   [Feb]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[v2.6.34-stable 068/213] xfrm_user: fix info leak in copy_to_user_state()
    Date
    From: Mathias Krause <minipli@googlemail.com>

    -------------------
    This is a commit scheduled for the next v2.6.34 longterm release.
    http://git.kernel.org/?p=linux/kernel/git/paulg/longterm-queue-2.6.34.git
    If you see a problem with using this for longterm, please comment.
    -------------------

    commit f778a636713a435d3a922c60b1622a91136560c1 upstream.

    The memory reserved to dump the xfrm state includes the padding bytes of
    struct xfrm_usersa_info added by the compiler for alignment (7 for
    amd64, 3 for i386). Add an explicit memset(0) before filling the buffer
    to avoid the info leak.

    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Acked-by: Steffen Klassert <steffen.klassert@secunet.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
    ---
    net/xfrm/xfrm_user.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
    index 6106b72826d3..a0039040aba6 100644
    --- a/net/xfrm/xfrm_user.c
    +++ b/net/xfrm/xfrm_user.c
    @@ -598,6 +598,7 @@ out:

    static void copy_to_user_state(struct xfrm_state *x, struct xfrm_usersa_info *p)
    {
    + memset(p, 0, sizeof(*p));
    memcpy(&p->id, &x->id, sizeof(p->id));
    memcpy(&p->sel, &x->sel, sizeof(p->sel));
    memcpy(&p->lft, &x->lft, sizeof(p->lft));
    --
    1.8.5.2


    \
     
     \ /
      Last update: 2014-02-06 03:01    [W:4.023 / U:0.256 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site