ANDROID: xt_quota2: clear quota2_log message before sending
authorTodd Kjos <tkjos@google.com>
Tue, 17 Aug 2021 20:29:23 +0000 (13:29 -0700)
committerPDO SCM Team <hudsoncm@motorola.com>
Mon, 6 Dec 2021 08:56:15 +0000 (03:56 -0500)
Initialize message buffer for quota2_log to avoid sending
random data.

Mot-CRs-fixed: (CR)
CVE-Fixed: CVE-2021-0961

Bug: 196046570
Test: passed netd test suites
Fixes: 10cda83af99d ("ANDROID: netfilter: xt_quota2: adding the
original quota2 from xtables-addons")
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ic9f34aaa2593809b375fc649b74567190c99dc62
Signed-off-by: Gajjala Chakradhar <gajjalac@motorola.com>
Reviewed-on: https://gerrit.mot.com/2123623
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
Submit-Approved: Jira Key
(cherry picked from commit 8e858f864cc16a7ccecb9522012a29655ed07653)

net/netfilter/xt_quota2.c

index 75afbe20d0cb222947b7fad7f9c8c5d1ed8cb708..653408e95e085ad3f2d4f7df08801fcaae1db5dc 100644 (file)
@@ -106,23 +106,16 @@ static void quota2_log(unsigned int hooknum,
                return;
        }
        pm = nlmsg_data(nlh);
+       memset(pm, 0, sizeof(*pm));
        if (skb->tstamp == 0)
                __net_timestamp((struct sk_buff *)skb);
-       pm->data_len = 0;
        pm->hook = hooknum;
        if (prefix != NULL)
                strlcpy(pm->prefix, prefix, sizeof(pm->prefix));
-       else
-               *(pm->prefix) = '\0';
        if (in)
                strlcpy(pm->indev_name, in->name, sizeof(pm->indev_name));
-       else
-               pm->indev_name[0] = '\0';
-
        if (out)
                strlcpy(pm->outdev_name, out->name, sizeof(pm->outdev_name));
-       else
-               pm->outdev_name[0] = '\0';
 
        NETLINK_CB(log_skb).dst_group = 1;
        pr_debug("throwing 1 packets to netlink group 1\n");