Blob Blame History Raw
From: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Date: Wed, 22 Sep 2021 08:56:56 -0300
Subject: Bluetooth: hci_ldisc: require CAP_NET_ADMIN to attach N_HCI ldisc
Patch-mainline: v5.16-rc1
Git-commit: c05731d0c6bd9a625e27ea5c5157ebf1303229e0
References: jsc#PED-1407

Any unprivileged user can attach N_HCI ldisc and send packets coming from a
virtual controller by using PTYs.

Require initial namespace CAP_NET_ADMIN to do that.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Acked-by: Lee, Chun-Yi <jlee@suse.com>
---
 drivers/bluetooth/hci_ldisc.c |    3 +++
 1 file changed, 3 insertions(+)

--- a/drivers/bluetooth/hci_ldisc.c
+++ b/drivers/bluetooth/hci_ldisc.c
@@ -479,6 +479,9 @@ static int hci_uart_tty_open(struct tty_
 
 	BT_DBG("tty %p", tty);
 
+	if (!capable(CAP_NET_ADMIN))
+		return -EPERM;
+
 	/* Error if the tty has no write op instead of leaving an exploitable
 	 * hole
 	 */