From patchwork Tue Oct 23 07:02:17 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ondrej Mosnacek X-Patchwork-Id: 10653183 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4EC4613B5 for ; Tue, 23 Oct 2018 12:38:30 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4289628C42 for ; Tue, 23 Oct 2018 12:38:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 366CF28CD7; Tue, 23 Oct 2018 12:38:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from ucol19pa13.eemsg.mail.mil (ucol19pa13.eemsg.mail.mil [214.24.24.86]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA256 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 62C6628C95 for ; Tue, 23 Oct 2018 12:38:29 +0000 (UTC) X-EEMSG-check-008: 638847932|UCOL19PA13_EEMSG_MP11.csd.disa.mil X-IronPort-AV: E=Sophos;i="5.54,416,1534809600"; d="scan'208";a="638847932" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.3]) by ucol19pa13.eemsg.mail.mil with ESMTP/TLS/DHE-RSA-AES256-SHA256; 23 Oct 2018 12:38:27 +0000 X-IronPort-AV: E=Sophos;i="5.54,416,1534809600"; d="scan'208";a="19755808" IronPort-PHdr: 9a23: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 X-IPAS-Result: A2BSAADvFc9b/wHyM5BjHAEBAQQBAQcEAQGBUgYBAQsBggEDgQlcKIxsiz6LFY4NFIFfEgEBGBMBiWwhNQwNAQMBAQEBAQECAWwogjYkAYJnAiQTDQcgCwMDCQJACAgDAS0DAQUBCxcBBwsFGASDAIF1DQMBmlg8jAYzgyqCEYRnEocqhCYXgUE/gRGHXQEMBgGFeQKIb4Yfj0IJhiaDWoZpCxeBUodThwuCY4FBhQWNGwYCCQcPIYEjATZkcU0jFTuCbJBZbYEFAQGJWg4XgicBAQ Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 23 Oct 2018 12:38:26 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus [192.168.25.40]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w9NCbq2k018229; Tue, 23 Oct 2018 08:38:01 -0400 Received: from tarius.tycho.ncsc.mil (tarius.infosec.tycho.ncsc.mil [144.51.242.1]) by prometheus.infosec.tycho.ncsc.mil (8.15.2/8.15.2) with ESMTP id w9N72SXS009964 for ; Tue, 23 Oct 2018 03:02:28 -0400 Received: from goalie.tycho.ncsc.mil (goalie.tycho.ncsc.mil [144.51.242.250]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w9N72RU7000889 for ; Tue, 23 Oct 2018 03:02:27 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1APAADfxs5blywYGNZjHAEBAQQBAQcEAQGBUgYBAQsBggGBaCiMbIs+ixWODYF6CwEBhGyFIiE1DA0BAwEBAQEBAQIUAQEBAQEGGAaGQCAygRUBBQEiARKDIYF1DQMBmis8jAYzgyqGehKHHYQjF4FBP4ERh2qGAAKIb4Fpk3MJhiWDWoZoCxeBUodShwqCYoFBhQSNGQYCCQcPIYEkAoIJTSMVgyeCNBuOCm2LKYJMAQE X-IPAS-Result: A1APAADfxs5blywYGNZjHAEBAQQBAQcEAQGBUgYBAQsBggGBaCiMbIs+ixWODYF6CwEBhGyFIiE1DA0BAwEBAQEBAQIUAQEBAQEGGAaGQCAygRUBBQEiARKDIYF1DQMBmis8jAYzgyqGehKHHYQjF4FBP4ERh2qGAAKIb4Fpk3MJhiWDWoZoCxeBUodShwqCYoFBhQSNGQYCCQcPIYEkAoIJTSMVgyeCNBuOCm2LKYJMAQE X-IronPort-AV: E=Sophos;i="5.54,415,1534824000"; d="scan'208";a="398110" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.35]) by goalie.tycho.ncsc.mil with ESMTP; 23 Oct 2018 03:02:27 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AMAAArx85blywYGNZjHAEBAQQBAQcEAQGBUgYBAQsBggGBaCiMbIs+ixWODYF6CwEBhGyFIiE1DA0BAwEBAQEBAQIBEwEBAQEBBhgGWII2JAGDDSAygRUBBQEiARKDIYF1DQMBmis8jAYzgyqGehKHHYQjF4FBP4ERh2qGAAKIb4Fpk3MJhiWDWoZoCxeBUodShwqCYoFBhQSNGQYCCQcPIYEkAoIJTSMVgyeCNBuOCm2LKYJMAQE X-IPAS-Result: A0AMAAArx85blywYGNZjHAEBAQQBAQcEAQGBUgYBAQsBggGBaCiMbIs+ixWODYF6CwEBhGyFIiE1DA0BAwEBAQEBAQIBEwEBAQEBBhgGWII2JAGDDSAygRUBBQEiARKDIYF1DQMBmis8jAYzgyqGehKHHYQjF4FBP4ERh2qGAAKIb4Fpk3MJhiWDWoZoCxeBUodShwqCYoFBhQSNGQYCCQcPIYEkAoIJTSMVgyeCNBuOCm2LKYJMAQE X-IronPort-AV: E=Sophos;i="5.54,415,1534809600"; d="scan'208";a="19747584" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from ucol3cpa06.eemsg.mail.mil ([214.24.24.44]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 23 Oct 2018 07:02:26 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;5add069d-77bc-49cb-b39e-ee28655e9e65 Authentication-Results: UCOL3CPA05.eemsg.mail.mil; dkim=none (message not signed) header.i=none; spf=None smtp.pra=omosnace@redhat.com; spf=Pass smtp.mailfrom=omosnace@redhat.com; spf=None smtp.helo=postmaster@mail-wm1-f65.google.com; dmarc=pass (p=none dis=none) d=redhat.com X-EEMSG-check-008: 341259801|UCOL3CPA05_EEMSG_MP20.csd.disa.mil X-EEMSG-SBRS: 2.7 X-EEMSG-ORIG-IP: 209.85.128.65 X-EEMSG-check-002: true X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AgAACjxs5bf0GAVdFjHAEBAQQBAQcEAQGBUgYBAQsBhBGMbIs+ixWODYF6CwEBE4RZhSIZBwEEMQwNAQMBAQEBAQEBAQETAQEJCwsIGwwxgjYkAYMNIDKBFQEFASIBEoMhgXUNBJorPIwGM4MqhnoJAQiHHYQjF4FBP4ERh2qGAAKIb4Fpk3MJhiWDWoZoCxeBUodShwqCYoFBhQSNGQYCCQcPIYEkAoIJTSMVgyeQWW2LKYJMAQE X-IPAS-Result: A0AgAACjxs5bf0GAVdFjHAEBAQQBAQcEAQGBUgYBAQsBhBGMbIs+ixWODYF6CwEBE4RZhSIZBwEEMQwNAQMBAQEBAQEBAQETAQEJCwsIGwwxgjYkAYMNIDKBFQEFASIBEoMhgXUNBJorPIwGM4MqhnoJAQiHHYQjF4FBP4ERh2qGAAKIb4Fpk3MJhiWDWoZoCxeBUodShwqCYoFBhQSNGQYCCQcPIYEkAoIJTSMVgyeQWW2LKYJMAQE Received: from mail-wm1-f65.google.com ([209.85.128.65]) by UCOL3CPA05.eemsg.mail.mil with ESMTP/TLS/AES128-SHA; 23 Oct 2018 07:02:23 +0000 Received: by mail-wm1-f65.google.com with SMTP id r63-v6so523782wma.4 for ; Tue, 23 Oct 2018 00:02:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=mZCh60UgT2gf4v+KbRlbTfRN9f1EpyMMha6W8klXGRA=; b=l0PG9VZxiO5sF9ozFxpisOQwczf++nFpr7dfvDjbMGK6oEcnYlDWG+lIup7LkyC1mB zQYQQQYf3ldicKhKOOpOA6UDDxImMN5na3K+gv9EAdsYEG8yyzXr2QcRyQwVRU7vLnAD GUeYNLdbMsfk7hIwSkENf7l5LN0GlMulGnvLbbluZhRFYo/IqxAe0JMWQIqq3hKMg5lX tLIFnYb2tX86aX/e83/D95O46lr8S6lC13XMEvW9G97pN2PgrXqwGiOz8yt5vLhuZX0r Zym6t6D5xWrQTNOljRUDX1gEyaMwmbn1zU0jTMUuRoNKdIuJEQzO56yiQNZnUj9XiP1r mi/g== X-Gm-Message-State: ABuFfoh//eO+641XB606BqE/pNSmw98d98Yo8vXVfnBUVdkuuCtHxD7w cK9qSPvL8dYa4NQvNQIbjPDgCw== X-Google-Smtp-Source: ACcGV61/+hWLpz05Fv1Qki/XvqmNrcs8eveSLFzcoRRb7YkhRYAcxWUto4irJtwA3iH68m3qWqkGgg== X-Received: by 2002:a1c:d105:: with SMTP id i5-v6mr18250842wmg.69.1540278142396; Tue, 23 Oct 2018 00:02:22 -0700 (PDT) Received: from localhost.localdomain.com (nat-pool-brq-t.redhat.com. [213.175.37.10]) by smtp.gmail.com with ESMTPSA id z4-v6sm704122wmz.14.2018.10.23.00.02.21 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 23 Oct 2018 00:02:21 -0700 (PDT) X-EEMSG-check-009: 444-444 From: Ondrej Mosnacek To: selinux@vger.kernel.org, Paul Moore Date: Tue, 23 Oct 2018 09:02:17 +0200 Message-Id: <20181023070217.17015-1-omosnace@redhat.com> X-Mailer: git-send-email 2.17.2 X-Mailman-Approved-At: Tue, 23 Oct 2018 08:37:51 -0400 Subject: [PATCH v6] selinux: policydb - fix byte order and alignment issues X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Security-Enhanced Linux \(SELinux\) mailing list" List-Post: List-Help: Cc: stable@vger.kernel.org, Doug Ledford , selinux@tycho.nsa.gov, Eli Cohen , Stephen Smalley MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP Do the LE conversions before doing the Infiniband-related range checks. The incorrect checks are otherwise causing a failure to load any policy with an ibendportcon rule on BE systems. This can be reproduced by running (on e.g. ppc64): cat >my_module.cil < Cc: Eli Cohen Cc: James Morris Cc: Doug Ledford Cc: # 4.13+ Fixes: a806f7a1616f ("selinux: Create policydb version for Infiniband support") Signed-off-by: Ondrej Mosnacek Acked-by: Stephen Smalley --- security/selinux/ss/policydb.c | 51 ++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 15 deletions(-) Changes in v6: - use U8_MAX as the limit for ibendport.port value to emphasize that it is an 8-bit value Changes in v5: - defer also assignment to 8-bit ibendport.port Changes in v4: - defer assignment to 16-bit struct fields to after the range check Changes in v3: - use separate buffer for the 64-bit subnet_prefix - add comments on the byte ordering of subnet_prefix - deduplicate the le32_to_cpu() calls from checks Changes in v2: - add reproducer to commit message - update e-mail address of James Morris - better Cc also the old SELinux ML diff --git a/security/selinux/ss/policydb.c b/security/selinux/ss/policydb.c index f4eadd3f7350..b63ef865ce1e 100644 --- a/security/selinux/ss/policydb.c +++ b/security/selinux/ss/policydb.c @@ -2108,6 +2108,7 @@ static int ocontext_read(struct policydb *p, struct policydb_compat_info *info, { int i, j, rc; u32 nel, len; + __be64 prefixbuf[1]; __le32 buf[3]; struct ocontext *l, *c; u32 nodebuf[8]; @@ -2217,21 +2218,30 @@ static int ocontext_read(struct policydb *p, struct policydb_compat_info *info, goto out; break; } - case OCON_IBPKEY: - rc = next_entry(nodebuf, fp, sizeof(u32) * 4); + case OCON_IBPKEY: { + u32 pkey_lo, pkey_hi; + + rc = next_entry(prefixbuf, fp, sizeof(u64)); + if (rc) + goto out; + + /* we need to have subnet_prefix in CPU order */ + c->u.ibpkey.subnet_prefix = be64_to_cpu(prefixbuf[0]); + + rc = next_entry(buf, fp, sizeof(u32) * 2); if (rc) goto out; - c->u.ibpkey.subnet_prefix = be64_to_cpu(*((__be64 *)nodebuf)); + pkey_lo = le32_to_cpu(buf[0]); + pkey_hi = le32_to_cpu(buf[1]); - if (nodebuf[2] > 0xffff || - nodebuf[3] > 0xffff) { + if (pkey_lo > U16_MAX || pkey_hi > U16_MAX) { rc = -EINVAL; goto out; } - c->u.ibpkey.low_pkey = le32_to_cpu(nodebuf[2]); - c->u.ibpkey.high_pkey = le32_to_cpu(nodebuf[3]); + c->u.ibpkey.low_pkey = pkey_lo; + c->u.ibpkey.high_pkey = pkey_hi; rc = context_read_and_validate(&c->context[0], p, @@ -2239,7 +2249,10 @@ static int ocontext_read(struct policydb *p, struct policydb_compat_info *info, if (rc) goto out; break; - case OCON_IBENDPORT: + } + case OCON_IBENDPORT: { + u32 port; + rc = next_entry(buf, fp, sizeof(u32) * 2); if (rc) goto out; @@ -2249,12 +2262,13 @@ static int ocontext_read(struct policydb *p, struct policydb_compat_info *info, if (rc) goto out; - if (buf[1] > 0xff || buf[1] == 0) { + port = le32_to_cpu(buf[1]); + if (port > U8_MAX || port == 0) { rc = -EINVAL; goto out; } - c->u.ibendport.port = le32_to_cpu(buf[1]); + c->u.ibendport.port = port; rc = context_read_and_validate(&c->context[0], p, @@ -2262,7 +2276,8 @@ static int ocontext_read(struct policydb *p, struct policydb_compat_info *info, if (rc) goto out; break; - } + } /* end case */ + } /* end switch */ } } rc = 0; @@ -3105,6 +3120,7 @@ static int ocontext_write(struct policydb *p, struct policydb_compat_info *info, { unsigned int i, j, rc; size_t nel, len; + __be64 prefixbuf[1]; __le32 buf[3]; u32 nodebuf[8]; struct ocontext *c; @@ -3192,12 +3208,17 @@ static int ocontext_write(struct policydb *p, struct policydb_compat_info *info, return rc; break; case OCON_IBPKEY: - *((__be64 *)nodebuf) = cpu_to_be64(c->u.ibpkey.subnet_prefix); + /* subnet_prefix is in CPU order */ + prefixbuf[0] = cpu_to_be64(c->u.ibpkey.subnet_prefix); - nodebuf[2] = cpu_to_le32(c->u.ibpkey.low_pkey); - nodebuf[3] = cpu_to_le32(c->u.ibpkey.high_pkey); + rc = put_entry(prefixbuf, sizeof(u64), 1, fp); + if (rc) + return rc; + + buf[0] = cpu_to_le32(c->u.ibpkey.low_pkey); + buf[1] = cpu_to_le32(c->u.ibpkey.high_pkey); - rc = put_entry(nodebuf, sizeof(u32), 4, fp); + rc = put_entry(buf, sizeof(u32), 2, fp); if (rc) return rc; rc = context_write(p, &c->context[0], fp);