{"id":806128,"url":"http://patchwork.ozlabs.org/api/1.2/patches/806128/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/patch/1503760140-9095-4-git-send-email-minipli@googlemail.com/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.2/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<1503760140-9095-4-git-send-email-minipli@googlemail.com>","list_archive_url":null,"date":"2017-08-26T15:08:59","name":"[net,3/4] xfrm_user: fix info leak in build_expire()","commit_ref":null,"pull_url":null,"state":"awaiting-upstream","archived":true,"hash":"cad443481f9ee93433780f8bf78942be79f486fa","submitter":{"id":6743,"url":"http://patchwork.ozlabs.org/api/1.2/people/6743/?format=json","name":"Mathias Krause","email":"minipli@googlemail.com"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/1.2/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/1503760140-9095-4-git-send-email-minipli@googlemail.com/mbox/","series":[],"comments":"http://patchwork.ozlabs.org/api/patches/806128/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/806128/checks/","tags":{},"related":[],"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=googlemail.com header.i=@googlemail.com\n\theader.b=\"q+TF1Krk\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xfhKJ33fXz9t5X\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSun, 27 Aug 2017 01:09:56 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751182AbdHZPJv (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tSat, 26 Aug 2017 11:09:51 -0400","from mail-wm0-f67.google.com ([74.125.82.67]:33774 \"EHLO\n\tmail-wm0-f67.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751120AbdHZPJa (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Sat, 26 Aug 2017 11:09:30 -0400","by mail-wm0-f67.google.com with SMTP id e67so2617741wmd.0\n\tfor <netdev@vger.kernel.org>; Sat, 26 Aug 2017 08:09:30 -0700 (PDT)","from jig.fritz.box (ip-90-186-2-57.web.vodafone.de. [90.186.2.57])\n\tby smtp.gmail.com with ESMTPSA id\n\tj15sm7126308wmg.14.2017.08.26.08.09.28\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tSat, 26 Aug 2017 08:09:29 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=googlemail.com; s=20161025;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=KPD2GPB7CKoDRZZxl4+G2i8Wu5Wn8KCFG4aKsBpJqOE=;\n\tb=q+TF1KrkTvaXf/jaSnGCgvDf4JM5HdM/Cw1TpJ7KK938x59Q01wJI2+RHugfFHa/0E\n\t3fWf8vdstXH/AIvNGgtWaAfDbWaueT0rcWm74RvOHW/PVL6NumQr9Dves4iWknsn2YJ+\n\tb73/eArRbWJR9APnQGN/sRH/3WnLIz2JffiMuV+W0IwIOmrik9GH1TW6FIruj/5LarnE\n\tvRwTcwRS+n6XFwuKUIiLaKEXY/C3QkwV2T+fcZfwT92fV0HkwE22az7ezV57E8sWx//W\n\tOEVHPSAH2pninS6KAZv0kNYMGB7XvXdrQcEIuw0uvYuM1cg16+A9+ch3V120lY4O3brh\n\tJ5mA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=KPD2GPB7CKoDRZZxl4+G2i8Wu5Wn8KCFG4aKsBpJqOE=;\n\tb=lTni/24m8fML8B+7trrMBFMN45zxO8mU51cvuSu7R2hzcalDCi0p/fYHBptaAnWLzn\n\tuDg2sJsxZQx193rlPaszElHGzrhOom6wcv/N0Mqo5N+5G+43LO2cnE1M4Lf3E9U13uPu\n\tTIyeo0Lp/jC0i27hbjzijT/r7vFkjMCc7riCMfIF/crOYgWq0yDnQipGL+2Ggt4ccHTY\n\tKgjPAkeEeZfM40xYkyovh+gVqrsZbvlhePFJFymeQEp/em+JaGu9es6b+PlR0Py1LBRi\n\tAReN+nn0y0F+NOTAUxaebLj/XK0iom5gXsBbjZxd2w1iEGOzEg21mI+xfTiJHYf3b2kE\n\tzBiQ==","X-Gm-Message-State":"AHYfb5g2WaIiBk2e8+AcKYnuoJClcuaUfU+SPKX+WvTZgJ+tLbjHXItU\n\tzgU7hgWdoZxzhQ==","X-Received":"by 10.28.143.205 with SMTP id r196mr947458wmd.69.1503760169509; \n\tSat, 26 Aug 2017 08:09:29 -0700 (PDT)","From":"Mathias Krause <minipli@googlemail.com>","To":"Steffen Klassert <steffen.klassert@secunet.com>,\n\t\"David S. Miller\" <davem@davemloft.net>,\n\tHerbert Xu <herbert@gondor.apana.org.au>","Cc":"netdev@vger.kernel.org, Mathias Krause <minipli@googlemail.com>","Subject":"[PATCH net 3/4] xfrm_user: fix info leak in build_expire()","Date":"Sat, 26 Aug 2017 17:08:59 +0200","Message-Id":"<1503760140-9095-4-git-send-email-minipli@googlemail.com>","X-Mailer":"git-send-email 1.7.10.4","In-Reply-To":"<1503760140-9095-1-git-send-email-minipli@googlemail.com>","References":"<1503760140-9095-1-git-send-email-minipli@googlemail.com>","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"The memory reserved to dump the expired xfrm state includes padding\nbytes in struct xfrm_user_expire added by the compiler for alignment. To\nprevent the heap info leak, memset(0) the remainder of the struct.\nInitializing the whole structure isn't needed as copy_to_user_state()\nalready takes care of clearing the padding bytes within the 'state'\nmember.\n\nSigned-off-by: Mathias Krause <minipli@googlemail.com>\n---\n net/xfrm/xfrm_user.c |    2 ++\n 1 file changed, 2 insertions(+)","diff":"diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c\nindex c33516ef52f2..2cbdc81610c6 100644\n--- a/net/xfrm/xfrm_user.c\n+++ b/net/xfrm/xfrm_user.c\n@@ -2578,6 +2578,8 @@ static int build_expire(struct sk_buff *skb, struct xfrm_state *x, const struct\n \tue = nlmsg_data(nlh);\n \tcopy_to_user_state(x, &ue->state);\n \tue->hard = (c->data.hard != 0) ? 1 : 0;\n+\t/* clear the padding bytes */\n+\tmemset(&ue->hard + 1, 0, sizeof(*ue) - offsetofend(typeof(*ue), hard));\n \n \terr = xfrm_mark_put(skb, &x->mark);\n \tif (err)\n","prefixes":["net","3/4"]}