From patchwork Wed Aug 8 11:50:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vit Mojzis X-Patchwork-Id: 10559791 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 8672D1057 for ; Wed, 8 Aug 2018 11:51:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 736812A958 for ; Wed, 8 Aug 2018 11:51:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6792F2A967; Wed, 8 Aug 2018 11:51:34 +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 uhil19pa10.eemsg.mail.mil (uhil19pa10.eemsg.mail.mil [214.24.21.83]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B40162A9B6 for ; Wed, 8 Aug 2018 11:51:32 +0000 (UTC) Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.3]) by uhil19pa10.eemsg.mail.mil with ESMTP/TLS/AES256-SHA; 08 Aug 2018 11:51:30 +0000 X-IronPort-AV: E=Sophos;i="5.51,457,1526342400"; d="scan'208";a="16746497" IronPort-PHdr: 9a23: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 X-IPAS-Result: A2BcBQBa2Gpb/wHyM5BcH4M2J2YjXCiMZ6NlFIFfEhgLCYdyNBgBAgEBAQEBAQIBbBwMgjUkgmYCJBMUIA4DCQJACAgDAS0VHwsFGASCfwEogVgDDKtYM4RmhW0FiSuBQT+BEoRmgUcEGIEUARIBCIVtAodbhVqNEAmFaTOJIguBT4ZmNIVCAYp1iACBQThhcU0jFTuCaYYBilRtAXwUinGCOgEB Received: from tarius.tycho.ncsc.mil (HELO tarius.infosec.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 08 Aug 2018 11:51:29 +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 w78BoaXB011985; Wed, 8 Aug 2018 07:50:49 -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 w78BoYep033591 for ; Wed, 8 Aug 2018 07:50:34 -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 w78BoYWI011983 for ; Wed, 8 Aug 2018 07:50:34 -0400 IronPort-PHdr: 9a23:yA/XahIfTCGOc81d5tmcpTVXNCE6p7X5OBIU4ZM7irVIN76u5InmIFeGtKU/kV/IWdyK8/sd1qzbvqX7VioF6JeF9nUDdM8EWxwEjJAQmAotSI6ABFbgJfHnJyo9AIxZVVBj8n36eUhYEcrzfRvT93u16zNBUg7nO19TIeL4UpXXk9zxz/q7roPWZAdahSGVe75+LByq6w7Ws5pempNsf5440QCBuX5UY6JTzGJsK0iUmkPi48Cy7p942z5dt/Io64hLVqCpN78gQ+lgBS89e3sw+NWttRTHSl6X4WAAV2wNjhdSKw3VtVfgU5vxuze8ve141Q== X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1DRAADr12pbl3oVGNZcg1UnZn8ojGeLZ5d+FIFmCyMJh1EhNBgBAgEBAQEBAQIUAQEBAQEGGAZMhXGCI4MgASiBWAMMm3qPYDOEZoVtBYkUF4FBP4EShGaBRwQYgTCFbQKHW5JqCYVpM4kiC4FPhmY0hUOKdYgAgUGCCk0jFYMkgjODTopUbQGBEI0rAQE X-IPAS-Result: A1DRAADr12pbl3oVGNZcg1UnZn8ojGeLZ5d+FIFmCyMJh1EhNBgBAgEBAQEBAQIUAQEBAQEGGAZMhXGCI4MgASiBWAMMm3qPYDOEZoVtBYkUF4FBP4EShGaBRwQYgTCFbQKHW5JqCYVpM4kiC4FPhmY0hUOKdYgAgUGCCk0jFYMkgjODTopUbQGBEI0rAQE X-IronPort-AV: E=Sophos;i="5.51,457,1526356800"; d="scan'208";a="341668" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.35]) by goalie.tycho.ncsc.mil with ESMTP; 08 Aug 2018 07:50:34 -0400 IronPort-PHdr: 9a23:0h1qyRdn1q4dw2uKqlKfyxCXlGMj4u6mDksu8pMizoh2WeGdxcu5bR7h7PlgxGXEQZ/co6odzbaO7ea4ASQp2tWoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7Ovr6GpLIj8Swyuu+54Dfbx9HiTahYL5+Ngm6oRnMvcQKnIVuLbo8xAHUqXVSYeRWwm1oJVOXnxni48q74YBu/SdNtf8/7sBMSar1cbg2QrxeFzQmLns65Nb3uhnZTAuA/WUTX2MLmRdVGQfF7RX6XpDssivms+d2xSeXMdHqQb0yRD+v6bpgRh31hycdLzM37WHZhNJ+gqxYux+tuwBzzpTIbI2JKPZyYqXQds4aS2pbWcZRUjRMDYy9b4sTEuEPOuFYr4v8plsPthu1GA6hBP3qyj9PhH/33Kw60/86HAHcwgMvAtIOv27IrNnvKKgSVuW1wbDOwD7eYf1W3jL955LJchAnufyMR6x/ftfRyUY1CwPJlEmfqYvgPz6Ty+8DsHCb4vJ+We6yhGMrsR99rze1yssyl4XFnJ8Zxk7a+SlhwYs4JMe0RFN4bNOmCpdcqS+XOoVsTs4gTWxlvjsxxKcctp6hZicKzYwqxx7BZPyDdIiF+hzsWuSSLzl+in9oZqixigqv/US90OHzSNe70FNRripKiNXMs2oC1x3X6sSdT/t9/0Oh1S6O1wDV9O5EPVg5mbTGJ5Mu2LI8iJUevV7dEiPrgkn6kbGaels89uit8evnY7HmppGGN49zjwHzKroumsm4AeQ6MwkOXnOb9P+m1LL94EL5QK9FjuEsnqbFt5DaINwXprSlDA9NzoYj9xG/Ai+90NsGmXkHLVRFeA+IjoXyJ1HPIOz3Dfe4g1i2ljdr3OrJMqfuApXKMHiQ2IvmKK1w709a1Rob0cFU55USDKoIZv30RBzfrtvdWyE4L0SRxOT1Cc41gp0bXmCdA7SxKq7esVaUoOkoJr/fN8cupD/hJq19tLbVhngjlApFJ/P71IYLaH2+AvVtKlmYZnypmNoaDGMWpVNvHL73iFyGCG9Lbi/vGa8x4yo0ToevDIOFQ4Gp0/SN3ya+S5tRYG0OSlWBCmzheIjMXfAQIDmTLclsnn1MVbWoR4I7kxD7sgj8xukvNfLarwsfs5+rz91p/6vLjxhn6zlzDdacyEmXQm10l39OTDgzj+hkuUIo8l6YyuBjhuBAU9la5vdHSAA/YIDZyO5oCsvaQA/Nft6VDl2hR4buGik/G+o42MRGeENhA5OigxTEijKtGKMQnqeXCYYc97KFmWL8K8Z01zDN06ws X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0DRAABa2Gpbl3oVGNZcg1UnZn8ojGeLZ5d+FIFmCyMJh1EhNBgBAgEBAQEBAQIBEwEBAQEBBhgGTAyCNSKDDoIjgyABKIFYAwybeI9gM4RmhW0FiRQXgUE/gRKEZoFHBBiBMIVtAodbkmoJhWkziSILgU+GZjSFQ4p1iACBQYIKTSMVgySCM4NOilRtAYEQjSsBAQ X-IPAS-Result: A0DRAABa2Gpbl3oVGNZcg1UnZn8ojGeLZ5d+FIFmCyMJh1EhNBgBAgEBAQEBAQIBEwEBAQEBBhgGTAyCNSKDDoIjgyABKIFYAwybeI9gM4RmhW0FiRQXgUE/gRKEZoFHBBiBMIVtAodbkmoJhWkziSILgU+GZjSFQ4p1iACBQYIKTSMVgySCM4NOilRtAYEQjSsBAQ X-IronPort-AV: E=Sophos;i="5.51,457,1526342400"; d="scan'208";a="16746470" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from uhil3cpa11.eemsg.mail.mil ([214.24.21.122]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 08 Aug 2018 11:50:33 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;ede21e2d-5d7c-4336-a83e-988d407d2e51 Authentication-Results: uhil19pa15.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: 324654792|UHIL19PA15_EEMSG_MP13.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:ab59pRbMuhxXTViP3Z4YSFP/LSx+4OfEezUN459isYplN5qZocSzbnLW6fgltlLVR4KTs6sC17KI9fi4EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCa8bL9oMBm6sRjau9ULj4dlNqs/0AbCrGFSe+RRy2NoJFaTkAj568yt4pNt8Dletuw4+cJYXqr0Y6o3TbpDDDQ7KG81/9HktQPCTQSU+HQRVHgdnwdSDAjE6BH6WYrxsjf/u+Fg1iSWIdH6QLYpUjmk8qxlSgLniD0fOjA57m/Zl8J+gqFArR69uxBy2ZLYbJ2JOPZieK7WYNMURXBGXsZUTyFODYK8b5cSBOQGOuZYrYj8p1oVrRCjAgSsGubvyjhKhn733K06yP8sERvY0wM9H9IBqmjUoM/pO6cVVOC41a/FxijNYfNR3Dfy8onIchY5rPGWQ71/bMrRxlMzFw/fklqQronlMjWI3eoOq2iW9+ttWOO1h2I6qAx8oCKjytkih4THnI4YyF7J+CNky4gvP9K4UlR0Ydu8HZtQqS6aM4x2T9snQ2BnpSo20KcGtoCmcygK0psn2wTTZOCAc4iN+h7jVeCRLilkhH99eb+yhgy+/VWjx+D+TMW4zlhHoyRfntTOuH0BzxnT5dKGSvt58EehwzGP1wXL5+FaJEA0kqjbKp8gwr4rjZcTq1rMETL2mErskK+abFkr+u+t6+j/eLXpuoecN5NoigH5KqkugdKwAeA5MggIQmia9v+x1KHj/ELlQLVKiec6kq/CsJ/AP8gbqam5AxEGmrokvg2yCzagzcQwgWgMLFUDfgmOyYfuJQLgOvf9WMm+nxyJlzV5xuuOaqPkBZffL2Prirrtfb9hrUVbzVxgnphk+5tIB+RZc7rIUUjruYmAV05rA0mP2+/iTe5F+MYbUGOLDLWeNfqI40WF6uImP6+HY4pH4W+hechg3ObniDoCoXFYZbOghMFFcn20Hv16ZU6eZCi024pTISIxpgM7CdfSphiCXDpUPijgWrJloCs2BIKvEcHIQYX/2bE= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0DBAACa2GpbmEnpu0JcH4M2gQ1/KIxnkHGSdBSBZgsjCAGHawYBBDAYAQIBAQEBAQEBAQETAQEBAQEICwsGKSMMgjUigw6CI4MgASiBWA+rWDOEZoVtBYkrgUE/gRKEZoFHBBiBMIVtAodbkmoJhWkziSILgU+GZjSFQgGKdYgAgUGCCk0jFYMkgjODTopUPTABgQ4BAY0rAQE X-IPAS-Result: A0DBAACa2GpbmEnpu0JcH4M2gQ1/KIxnkHGSdBSBZgsjCAGHawYBBDAYAQIBAQEBAQEBAQETAQEBAQEICwsGKSMMgjUigw6CI4MgASiBWA+rWDOEZoVtBYkrgUE/gRKEZoFHBBiBMIVtAodbkmoJhWkziSILgU+GZjSFQgGKdYgAgUGCCk0jFYMkgjODTopUPTABgQ4BAY0rAQE Received: from mx3-rdu2.redhat.com (HELO mx1.redhat.com) ([66.187.233.73]) by uhil19pa15.eemsg.mail.mil with ESMTP/TLS/DHE-RSA-AES256-SHA256; 08 Aug 2018 11:50:30 +0000 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F010440241C3 for ; Wed, 8 Aug 2018 11:50:25 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.40.205.66]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5762E2027047 for ; Wed, 8 Aug 2018 11:50:25 +0000 (UTC) X-EEMSG-check-009: 444-444 From: Vit Mojzis To: selinux@tycho.nsa.gov Date: Wed, 8 Aug 2018 13:50:21 +0200 Message-Id: <20180808115021.8929-1-vmojzis@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 08 Aug 2018 11:50:26 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Wed, 08 Aug 2018 11:50:26 +0000 (UTC) for IP:'10.11.54.4' DOMAIN:'int-mx04.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..b5f73663 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(0); 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(0); 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(0); 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(0); 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(0); 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(0); 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(0); 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(0); 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(0); 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: