From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 51AC73B1EC0 for ; Sun, 18 Oct 2026 15:50:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792338660; cv=none; b=ZkitGt+6Wf0VD+z9nC6njCb16fipTEB0IUv+xU2XRNGG8q+JZjrSJfJ9N07DSsrtlWU+oj+0UJDT7ZSUQPCkClOEUE7BiTutgP4IcnERPkyVc1WP9wcQKBSZ18Ur3MrWHqmKU0+cV6CNmD3JtQosj61RZkHMLEiHtg0wSzUqvf4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792338660; c=relaxed/simple; bh=2AiQMKg0oabmc9sVwAX3wBLgzJP2Pk6FsLs31irpYfo=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=r5L/8lo8CzgMLz3JTFXfxLdMRFSvaeCn4O0DXD2x4e2MRU7+FQ1gQfB47sShpziNNSus5QVFutw+99UXeX0UEzRC/Z/8t8BoN7865IKkR/ps5cjDzBdJPjXd4gr0sxXQOs3hyrati8I6cyw6u6Zb/tDrE66FdPBHlLa6CQ5wnP8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=rSZIXuCm; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="rSZIXuCm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AE39E1F000C4; Sun, 18 Oct 2026 15:50:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1792338654; bh=mwOhbFPUcmCJ7EBu4hb8YcM4HDU217OwVO7x5Ka8EwI=; h=From:To:Cc:Subject:Date:Reply-To; b=rSZIXuCmeX+hbAPqzjbbXQZ/Tlm26GYC9E2Vn99Kxf4jbaiyAa946uR1s8V+YIQ3Q 1QHEXgoH7dYksUHITXWdY4BGflsBeyaYRwhMqNOP0g5kUdY18dGd5y2ARVwdUdwIoe /dz13wAINUBFq+LoNPF/Q5aqt4/L8HUP3AInLTlU= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2026-98693: thunderbolt: Hold a router reference for each allocated HopID Date: Sun, 18 Oct 2026 17:44:28 +0200 Message-ID: <2026101803-CVE-2026-98693-7674@gregkh> X-Mailer: git-send-email 2.56.0 Reply-To: , Precedence: bulk X-Mailing-List: linux-cve-announce@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3113; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=9KrFdDfcqzSd+tyhs1gCclsl+QL2RMfqSlDa1DvkmoE=; b=owGbwMvMwCRo6H6F97bub03G02pJDFlXXjpfUYtU3ik4NYA1u/m39+0rSj/OzOhSZTmr/Kbh3 9odXQrPO2JZGASZGGTFFFm+bOM5ur/ikKKXoe1pmDmsTCBDGLg4BWAiX1QYFqyJFA4N+PEmr5Qx Kaxs1xrVzFSJMIb5SUe2iR7LEdfNfdAcHyj0W8yi+mgKAA== X-Developer-Key: i=gregkh@linuxfoundation.org; a=openpgp; fpr=F4B60CC5BF78C2214A313DCB3147D40DDB2DFB29 Content-Transfer-Encoding: 8bit From: Greg Kroah-Hartman Description =========== In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Hold a router reference for each allocated HopID tb_stop() drops the reference to all DP tunnels but does not deactivate them, thus nothing cancels a dprx_work still in flight (which holds its own tunnel reference) and the tunnel can outlive tb_switch_remove(). The HopID releases in tb_path_free() then operate on freed IDAs and trigger warnings like ida_free called for id=8 which is not allocated. This can be triggered by unbinding the driver while a DP tunnel is still waiting for the DPRX capabilities read to finish. On the Apple NHI unplugging the cable runs into just that reliably because the read can never finish right now and because the unplug powers down the entire USB4 complex and removes the NHI device. Take a router reference whenever an input or output HopID is allocated and drop it again after the HopID is released. This keeps the ports and their HopID IDAs alive for as long as they are used. The KUnit tests allocate routers without ever registering their devices so initialize the embedded struct device there as well and drop its initial reference when the test is finished. The Linux kernel CVE team has assigned CVE-2026-98693 to this issue. Affected and fixed versions =========================== Issue introduced in 6.14 with commit d6d458d42e1e1544a18f37f1d5c840e00d5261b9 and fixed in 6.18.56 with commit c444d2c17dc236680324fd989232199680a6c419 Issue introduced in 6.14 with commit d6d458d42e1e1544a18f37f1d5c840e00d5261b9 and fixed in 7.2.10 with commit 2b5f976119d8f099a03cbf700df3d9c8690fe33d Issue introduced in 6.14 with commit d6d458d42e1e1544a18f37f1d5c840e00d5261b9 and fixed in 7.3-rc6 with commit 032c59c7681c661b63123231824170c025afb7e7 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-98693 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: drivers/thunderbolt/switch.c drivers/thunderbolt/test.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/c444d2c17dc236680324fd989232199680a6c419 https://git.kernel.org/stable/c/2b5f976119d8f099a03cbf700df3d9c8690fe33d https://git.kernel.org/stable/c/032c59c7681c661b63123231824170c025afb7e7