lkml.org 
[lkml]   [2014]   [Jul]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.10 42/46] netfilter: ipt_ULOG: fix info leaks
    Date
    3.10-stable review patch.  If anyone has any objections, please let me know.

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

    From: Mathias Krause <minipli@googlemail.com>

    commit 278f2b3e2af5f32ea1afe34fa12a2518153e6e49 upstream.

    The ulog messages leak heap bytes by the means of padding bytes and
    incompletely filled string arrays. Fix those by memset(0)'ing the
    whole struct before filling it.

    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Cc: Jan Tore Morken <jantore@morken.priv.no>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    net/ipv4/netfilter/ipt_ULOG.c | 7 +------
    1 file changed, 1 insertion(+), 6 deletions(-)

    --- a/net/ipv4/netfilter/ipt_ULOG.c
    +++ b/net/ipv4/netfilter/ipt_ULOG.c
    @@ -220,6 +220,7 @@ static void ipt_ulog_packet(struct net *
    ub->qlen++;

    pm = nlmsg_data(nlh);
    + memset(pm, 0, sizeof(*pm));

    /* We might not have a timestamp, get one */
    if (skb->tstamp.tv64 == 0)
    @@ -238,8 +239,6 @@ static void ipt_ulog_packet(struct net *
    }
    else if (loginfo->prefix[0] != '\0')
    strncpy(pm->prefix, loginfo->prefix, sizeof(pm->prefix));
    - else
    - *(pm->prefix) = '\0';

    if (in && in->hard_header_len > 0 &&
    skb->mac_header != skb->network_header &&
    @@ -251,13 +250,9 @@ static void ipt_ulog_packet(struct net *

    if (in)
    strncpy(pm->indev_name, in->name, sizeof(pm->indev_name));
    - else
    - pm->indev_name[0] = '\0';

    if (out)
    strncpy(pm->outdev_name, out->name, sizeof(pm->outdev_name));
    - else
    - pm->outdev_name[0] = '\0';

    /* copy_len <= skb->len, so can't fail. */
    if (skb_copy_bits(skb, 0, pm->payload, copy_len) < 0)



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