From patchwork Tue Aug 21 13:17:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vit Mojzis X-Patchwork-Id: 10571595 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 A65AE13B6 for ; Tue, 21 Aug 2018 13:18:43 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 844E32A1DF for ; Tue, 21 Aug 2018 13:18:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 782422A1F0; Tue, 21 Aug 2018 13:18:43 +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 upbd19pa07.eemsg.mail.mil (upbd19pa07.eemsg.mail.mil [214.24.27.82]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 26D2F2A1DF for ; Tue, 21 Aug 2018 13:18:38 +0000 (UTC) Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.2]) by upbd19pa07.eemsg.mail.mil with ESMTP/TLS/AES256-SHA; 21 Aug 2018 13:18:37 +0000 X-IronPort-AV: E=Sophos;i="5.53,269,1531785600"; d="scan'208";a="15041488" IronPort-PHdr: 9a23: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 X-IPAS-Result: A2BtAQDxDXxb/wHyM5BaHAEBAQQBAQoBAYMlJ2cjShIoi3xfo2kUgV8SGAsJiC00GAECAQEBAQEBAgFsHAyCNSSCXwMDAQIkExQgDgMJAQFACAgDAS0VEQ4LBRgEgwEBKAGBWAMMpm0zhGiFdAWJL4FBP4EShGaBRwQYgRQBEgEIhW8Ch2mFZI04CYV2NYktCxWBPoZzNIVTAYsRiCKBQThhcU0jFTuCaYYBilRtAXyMHYI6AQE Received: from tarius.tycho.ncsc.mil (HELO tarius.infosec.tycho.ncsc.mil) ([144.51.242.1]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 21 Aug 2018 13:18:36 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus.infosec.tycho.ncsc.mil [192.168.25.40]) by tarius.infosec.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w7LDHtfo001904; Tue, 21 Aug 2018 09:18:09 -0400 Received: from tarius.infosec.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 w7LDHtgw011308 for ; Tue, 21 Aug 2018 09:17:55 -0400 Received: from goalie.tycho.ncsc.mil (goalie.infosec.tycho.ncsc.mil [144.51.242.250]) by tarius.infosec.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w7LDHsdG001902 for ; Tue, 21 Aug 2018 09:17:54 -0400 IronPort-PHdr: 9a23:YaNAHRYvh3GCBX6ig9Y0WIX/LSx94ef9IxIV55w7irlHbqWk+dH4MVfC4el21Q6ZD7jgxdgd2tL/6v2mVGEF+pnHtXkDdNpJVhtWwckVngl1BsmDBAW7KfPxdCU1EYxEU0Mt5HC0N0VZWY7+alTer2f07GsUHRPyZkJuPuqgPInUgoys0vyqvYXJalBWgT2/c7JpBA+7oQXYqo8dho4xYr0pxE7xq2BTM/9T2XsuIFuSmxjm4cLl4ptk8TZRoNo7+sJAWLm8dKM9HvRDFDpzC2ku/4XwsAXbCwuC4nxJSmINjh9BGBTI9jn/Ts63qCb2tuNhniKdOMA= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1BuAABtDnxbly0aGNZaHAEBAQQBAQoBAYMlJ2dtEiiLfF+LQJgpFIFmCyOESQKDQiE0GAECAQEBAQEBAhQBAQEBAQYYBkyFRAMDJ2JRVxmDIgEoAYFbDKZ0M4RohXQFiRgXgUE/gRKEZoFHBBiBMIVvAodpkxwJhXY1iS0LFYE+hnM0hVSLEYgigUGCCk0jFYMkgjODTopUbQGPUwEB X-IPAS-Result: A1BuAABtDnxbly0aGNZaHAEBAQQBAQoBAYMlJ2dtEiiLfF+LQJgpFIFmCyOESQKDQiE0GAECAQEBAQEBAhQBAQEBAQYYBkyFRAMDJ2JRVxmDIgEoAYFbDKZ0M4RohXQFiRgXgUE/gRKEZoFHBBiBMIVvAodpkxwJhXY1iS0LFYE+hnM0hVSLEYgigUGCCk0jFYMkgjODTopUbQGPUwEB X-IronPort-AV: E=Sophos;i="5.53,269,1531800000"; d="scan'208";a="350875" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.35]) by goalie.tycho.ncsc.mil with ESMTP; 21 Aug 2018 09:17:54 -0400 IronPort-PHdr: 9a23:XXYhCxf2T7E0er8MIdlLmaRolGMj4u6mDksu8pMizoh2WeGdxcu7ZR7h7PlgxGXEQZ/co6odzbaO7Oa4ASQp2tWoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7Ovr6GpLIj8Swyuu+54Dfbx9HiTahY75+Ngm6oRnMvcQKnIVuLbo8xAHUqXVSYeRWwm1oJVOXnxni48q74YBu/SdNtf8/7sBMSar1cbg2QrxeFzQmLns65Nb3uhnZTAuA/WUTX2MLmRdVGQfF7RX6XpDssivms+d2xSeXMdHqQb0yRD+v6bpgRh31hycdLzM37WHZhNJ+gqxYoh2hqQdyz5LIbIyPKPZyYr/Rcc8cSGFcXshRTStBAoakYoQADuoBIftToY76p1sMrBq+BBKsD/7oxz9Wg3/22q860uUgEQHdxwEgBcwBv2nUrNrvKKceS/y6zK7NzTjaaf5dxDnz6I/Nch87oPGMW6p9cdDPxkYyFwPKlEmQpZb5MDOS0+QAtXWQ4el4Ve+3lWIrtg58riKxysojkIXFmIMYxkrL+Ch5xos+OMe2R1RhYdG+FZtdryGaOJVyQsMlW2xntjs0xL0btJKmeCUE0ogqywDDZ/CdbYeH/BfjVP2eITtigXJqYrO/hxKo/Uily+38UtG40FdMriVbjtnBrm4B2wHc58SdVPdw8V2t1SiO2gzJ5exJIVg4la/BJJ4gxr4wmIATsUPGHiLuhkX2iaiWdkcl++ip8OTqea/mqYGBOI90kA7+Lr4ildC4AeQ9KgQORXSU+fyg1L3/+k30WK5KgeMykqnYtpDaOMsaq7WlAw5Vzokj6xG/Ay2g0NQDh3YLNl1FeBWZj9uhB1abO/38DPGik3ywgTxrwLbAJbSnDZLTfVbZl7K0Q7dho2tbyhgy1pgL+ZdTCKMAO9rpV0PxvcCeBRg8ZV/ni937Aclwg9tNEVmEBbWUZfuI6w2B+/4vLu+QZYQcpDf6Lb0/6uXziWMiwA5NL5SS87FOOUiRR6kgLkicenWqh94AFSEPvw5tBODpiVjXVzlVaj7yWq8n/Tg0BcqgCpuLXYGihrGNnW+7E5Raa3oACwWKFnHlJM2fQ/lZTiWUL4d6lyAcE6C7Qto/0Baspg7h46BqIurd5msTspewnMNt6bjrnAopvSdxE9zb1miMS29umWZdWTox3rJ+umRnx1uD2LQ+iPtdRpRI//0cag4hLtbHyvBiTdD/XgWUZtCSVFOvWcmrGxk0Xot32dICY09hXd6lix0= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BhAAAQEHxbly0aGNZaHAEBAQQBAQoBAYMlJ2dtEiiLfF+jaRSBZgsjhEkCg080GAECAQEBAQEBAgETAQEBAQEGGAZMDII1IoJhAwMnYlFXGYMiASgBgVsMpm0zhGiFdAWJL4FBP4EShGaBRwQYgTCFbwKHaZMcCYV2NYktCxWBPoZzNIVUixGIIoFBggpNIxWDJIIzg06KVD0wAY9TAQE X-IPAS-Result: A0BhAAAQEHxbly0aGNZaHAEBAQQBAQoBAYMlJ2dtEiiLfF+jaRSBZgsjhEkCg080GAECAQEBAQEBAgETAQEBAQEGGAZMDII1IoJhAwMnYlFXGYMiASgBgVsMpm0zhGiFdAWJL4FBP4EShGaBRwQYgTCFbwKHaZMcCYV2NYktCxWBPoZzNIVUixGIIoFBggpNIxWDJIIzg06KVD0wAY9TAQE X-IronPort-AV: E=Sophos;i="5.53,269,1531785600"; d="scan'208";a="17242867" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from uphb3cpa06.eemsg.mail.mil (HELO USFB19PA20.eemsg.mail.mil) ([214.24.26.45]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 21 Aug 2018 13:17:53 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;1f69b115-22f4-4786-b103-79a979e5dece Authentication-Results: USFB19PA15.eemsg.mail.mil; dkim=none (message not signed) header.i=none; spf=None smtp.pra=vmojzis@redhat.com; spf=Pass smtp.mailfrom=vmojzis@redhat.com; spf=Pass smtp.helo=postmaster@mx1.redhat.com X-EEMSG-check-008: 138583158|USFB19PA15_EEMSG_MP11.csd.disa.mil X-EEMSG-check-001: false X-EEMSG-SBRS: 5.2 X-EEMSG-ORIG-IP: 66.187.233.73 X-EEMSG-check-002: true IronPort-PHdr: 9a23:KRBPKxxwdqPnDWLXCy+O+j09IxM/srCxBDY+r6Qd1eMVIJqq85mqBkHD//Il1AaPAd2Eraocw8Pt8InYEVQa5piAtH1QOLdtbDQizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1JuPoEYLOksi7ze+/94HRbglSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeuBWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbOSxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDwULs6Wymt771zRRHolikJKjA3/mLVhcx+l69XvA6tqgZjz4LIfI2ZKPxzdb7dc9MAQmpBW95cWCNAAoOgcoABCO0BPeRZron8vFsFsByzBRepBOPoyD9Jh3723bYh3uQ7Dw7JwQwgEMgSsHjOsNr1M6ISXPmzwaLVwzvDaPZW1i386IjOah0hu++DUq9wccXL1UkjDR/KjlKVqYHjIjib1fwNvnCa4udhT+6jlm0qpgNrrjSxyMohhJPFi4Abx13C6C532pw6JceiR05+edOkEIVftyWdN4ZuR8MjTHxktDwgyrIYpJG7fDIFyIg9yxHDbPyHdpCE4hPlVOmPPTd1nHNodbOlixqv8kWtyPfwWte63VtEtCZIkNfBumgI1xPJ68iHTvV9/l2m2TaKzw3T9OREIUc2lavaKp4h2aU9loANvkveHi/5gln2gLWKeUUj/+ik8/7nban+pp+AK490jRnzMr8wlcy7AOQ4NBUOXmeA9OSg1Lzs4U35QLJQgv0wianWqorWJcscpq6nUEdp1dM45hK+CSq2+MgJlnkAalRecVSIiJa6FUvJJaXGDOv3plOugjZwj6TYO7rjEJTWBmLOnLfoYfB27EsKm1l79sxW+58BUuJJG/n0QEKk7IWJXC98CBS9xqPcMPs404ofXWyVBarAavHIvFOI7/5pKO6JNtZM5GTNbsM97vurtkcX3EcHdPDzj4EaZHCxArJtJEDLOSOx0OdEKn8Du08FdMKviFCGVmcNNXOiBuQm6z07AZ7gBoDGFNmg X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BzAADhD3xbmEnpu0JaHQIFDIMmgQ5tEiiLfF+jaRSBZgsjCAGEQAKDSgYBBDAYAQIBAQEBAQEBAQETAQEBAQEICwsGKSMMgjUigmEDAydiUVcZgyIBKAGBWA+mbTOEaIV0BYkvgUE/gRKEZoFHBBiBMIVvAodpkxwJhXY1iS0LFYE+hnM0hVMBixGIIoFBggpNIxWDJIIzg06KVD0wAYEOAQGOQwEB X-IPAS-Result: A0BzAADhD3xbmEnpu0JaHQIFDIMmgQ5tEiiLfF+jaRSBZgsjCAGEQAKDSgYBBDAYAQIBAQEBAQEBAQETAQEBAQEICwsGKSMMgjUigmEDAydiUVcZgyIBKAGBWA+mbTOEaIV0BYkvgUE/gRKEZoFHBBiBMIVvAodpkxwJhXY1iS0LFYE+hnM0hVMBixGIIoFBggpNIxWDJIIzg06KVD0wAYEOAQGOQwEB Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8D6AC4021FC2 for ; Tue, 21 Aug 2018 13:17:48 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.40.205.110]) by smtp.corp.redhat.com (Postfix) with ESMTP id CDAC57D4CA for ; Tue, 21 Aug 2018 13:17:47 +0000 (UTC) X-EEMSG-check-009: 444-444 From: Vit Mojzis To: selinux@tycho.nsa.gov Date: Tue, 21 Aug 2018 15:17:31 +0200 Message-Id: <20180821131731.12104-1-vmojzis@redhat.com> In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Tue, 21 Aug 2018 13:17:48 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Tue, 21 Aug 2018 13:17:48 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'vmojzis@redhat.com' RCPT:'' Subject: [PATCH] libsemanage: reset umask before creating directories 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: MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP Restrictive umask may cause creating directories with with unintended access mode. Reset umask before creating directories to avoid this issue. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1186422 Signed-off-by: Vit Mojzis --- libsemanage/src/semanage_store.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/libsemanage/src/semanage_store.c b/libsemanage/src/semanage_store.c index f1984c50..58dded6e 100644 --- a/libsemanage/src/semanage_store.c +++ b/libsemanage/src/semanage_store.c @@ -541,14 +541,18 @@ int semanage_create_store(semanage_handle_t * sh, int create) struct stat sb; const char *path = semanage_files[SEMANAGE_ROOT]; int fd; + mode_t mask; if (stat(path, &sb) == -1) { if (errno == ENOENT && create) { + mask = umask(0077); if (mkdir(path, S_IRWXU) == -1) { + umask(mask); ERR(sh, "Could not create module store at %s.", path); return -2; } + umask(mask); } else { if (create) ERR(sh, @@ -567,12 +571,15 @@ int semanage_create_store(semanage_handle_t * sh, int create) path = semanage_path(SEMANAGE_ACTIVE, SEMANAGE_TOPLEVEL); if (stat(path, &sb) == -1) { if (errno == ENOENT && create) { + mask = umask(0077); if (mkdir(path, S_IRWXU) == -1) { + umask(mask); ERR(sh, "Could not create module store, active subdirectory at %s.", path); return -2; } + umask(mask); } else { ERR(sh, "Could not read from module store, active subdirectory at %s.", @@ -590,12 +597,15 @@ int semanage_create_store(semanage_handle_t * sh, int create) path = semanage_path(SEMANAGE_ACTIVE, SEMANAGE_MODULES); if (stat(path, &sb) == -1) { if (errno == ENOENT && create) { + mask = umask(0077); if (mkdir(path, S_IRWXU) == -1) { + umask(mask); ERR(sh, "Could not create module store, active modules subdirectory at %s.", path); return -2; } + umask(mask); } else { ERR(sh, "Could not read from module store, active modules subdirectory at %s.", @@ -613,11 +623,14 @@ int semanage_create_store(semanage_handle_t * sh, int create) path = semanage_files[SEMANAGE_READ_LOCK]; if (stat(path, &sb) == -1) { if (errno == ENOENT && create) { + mask = umask(0077); if ((fd = creat(path, S_IRUSR | S_IWUSR)) == -1) { + umask(mask); ERR(sh, "Could not create lock file at %s.", path); return -2; } + umask(mask); close(fd); } else { ERR(sh, "Could not read lock file at %s.", path); @@ -763,6 +776,7 @@ static int semanage_copy_dir_flags(const char *src, const char *dst, int flag) struct stat sb; struct dirent **names = NULL; char path[PATH_MAX], path2[PATH_MAX]; + mode_t mask; if ((len = scandir(src, &names, semanage_filename_select, NULL)) == -1) { fprintf(stderr, "Could not read the contents of %s: %s\n", src, strerror(errno)); @@ -770,10 +784,13 @@ static int semanage_copy_dir_flags(const char *src, const char *dst, int flag) } if (stat(dst, &sb) != 0) { + mask = umask(0077); if (mkdir(dst, S_IRWXU) != 0) { + umask(mask); fprintf(stderr, "Could not create %s: %s\n", dst, strerror(errno)); goto cleanup; } + umask(mask); } for (i = 0; i < len; i++) { @@ -785,14 +802,20 @@ static int semanage_copy_dir_flags(const char *src, const char *dst, int flag) } snprintf(path2, sizeof(path2), "%s/%s", dst, names[i]->d_name); if (S_ISDIR(sb.st_mode)) { + mask = umask(0077); if (mkdir(path2, 0700) == -1 || semanage_copy_dir_flags(path, path2, flag) == -1) { + umask(mask); goto cleanup; } + umask(mask); } else if (S_ISREG(sb.st_mode) && flag == 1) { + mask = umask(0077); if (semanage_copy_file(path, path2, sb.st_mode) < 0) { + umask(mask); goto cleanup; } + umask(mask); } } retval = 0; @@ -872,16 +895,20 @@ int semanage_mkdir(semanage_handle_t *sh, const char *path) { int status = 0; struct stat sb; + mode_t mask; /* check if directory already exists */ if (stat(path, &sb) != 0) { /* make the modules directory */ + mask = umask(0077); if (mkdir(path, S_IRWXU) != 0) { + umask(mask); ERR(sh, "Cannot make directory at %s", path); status = -1; goto cleanup; } + umask(mask); } else { /* check that it really is a directory */ @@ -906,6 +933,7 @@ int semanage_make_sandbox(semanage_handle_t * sh) const char *sandbox = semanage_path(SEMANAGE_TMP, SEMANAGE_TOPLEVEL); struct stat buf; int errsv; + mode_t mask; if (stat(sandbox, &buf) == -1) { if (errno != ENOENT) { @@ -922,12 +950,15 @@ int semanage_make_sandbox(semanage_handle_t * sh) } } + mask = umask(0077); if (mkdir(sandbox, S_IRWXU) == -1 || semanage_copy_dir(semanage_path(SEMANAGE_ACTIVE, SEMANAGE_TOPLEVEL), sandbox) == -1) { + umask(mask); ERR(sh, "Could not copy files to sandbox %s.", sandbox); goto cleanup; } + umask(mask); return 0; cleanup: