From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Weinberger Subject: user controllable usermodehelper in br_stp_if.c Date: Sun, 29 Nov 2015 23:43:09 +0100 Message-ID: <565B7F7D.80208@nod.at> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: bridge@lists.linux-foundation.org, "linux-kernel@vger.kernel.org" , "keescook@chromium.org" , "kernel-hardening@lists.openwall.com" To: "netdev@vger.kernel.org" Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: bridge-bounces@lists.linux-foundation.org Errors-To: bridge-bounces@lists.linux-foundation.org List-Id: netdev.vger.kernel.org Hi! By spawning new network and user namesapces an unprivileged user is able to execute /sbin/bridge-stp within the initial mount namespace with global root rights. While this cannot directly be used to break out of a container or gain global root rights it could be used by exploit writers as valuable buildi= ng block. e.g. $ unshare -U -r -n /bin/sh $ brctl addbr br0 $ brctl stp br0 on # this will execute /sbin/bridge-stp As this mechanism clearly cannot work with containers and seems to be leg= acy code I suggest not calling call_usermodehelper() at all if we're not in the in= itial user namespace. What do you think? Thanks, //richard