[PATCH] nfc: nci: fix the UAF of rf_conn_info object

Subsystems: networking [general], nfc subsystem, the rest

STALE1788d REVIEWED: 1 (0M)

1 review trailer.

2 messages, 2 authors, 2021-10-08 · open the first message on its own page

[PATCH] nfc: nci: fix the UAF of rf_conn_info object

From: Krzysztof Kozlowski <hidden>
Date: 2021-10-07 17:45:06

From: Lin Ma <redacted>

The nci_core_conn_close_rsp_packet() function will release the conn_info
with given conn_id. However, it needs to set the rf_conn_info to NULL to
prevent other routines like nci_rf_intf_activated_ntf_packet() to trigger
the UAF.

Reviewed-by: Krzysztof Kozlowski <redacted>
Signed-off-by: Lin Ma <redacted>
Signed-off-by: Krzysztof Kozlowski <redacted>
---
 net/nfc/nci/rsp.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/net/nfc/nci/rsp.c b/net/nfc/nci/rsp.c
index a2e72c003805..b911ab78bed9 100644
--- a/net/nfc/nci/rsp.c
+++ b/net/nfc/nci/rsp.c
@@ -334,6 +334,8 @@ static void nci_core_conn_close_rsp_packet(struct nci_dev *ndev,
 							 ndev->cur_conn_id);
 		if (conn_info) {
 			list_del(&conn_info->list);
+			if (conn_info == ndev->rf_conn_info)
+				ndev->rf_conn_info = NULL;
 			devm_kfree(&ndev->nfc_dev->dev, conn_info);
 		}
 	}
-- 
2.30.2

Re: [PATCH] nfc: nci: fix the UAF of rf_conn_info object

From: patchwork-bot+netdevbpf@kernel.org
Date: 2021-10-08 16:30:11

Hello:

This patch was applied to netdev/net.git (master)
by David S. Miller [off-list ref]:

On Thu,  7 Oct 2021 19:44:30 +0200 you wrote:
From: Lin Ma <redacted>

The nci_core_conn_close_rsp_packet() function will release the conn_info
with given conn_id. However, it needs to set the rf_conn_info to NULL to
prevent other routines like nci_rf_intf_activated_ntf_packet() to trigger
the UAF.

[...]
Here is the summary with links:
  - nfc: nci: fix the UAF of rf_conn_info object
    https://git.kernel.org/netdev/net/c/1b1499a817c9

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help