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 6ADD746C843 for ; Sun, 18 Oct 2026 16:12:09 +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=1792339931; cv=none; b=cvo+Apwb7eNAkmNghrHq1MMYBHjb95LZ05LhzjGeWLKljjFNaWM3eE0z3Q1n6O1fM1MQPDn1bN9HKCJyUXSJr28PaCIVfc8Leu/VdNqMHg2jOQvj1M9N2yb1/UUk/fVc+omUns5a1m9rGbGMd2natBIpakCDI094weCaTfZZgMI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792339931; c=relaxed/simple; bh=IrMgEcOvsF9ZcSFrcju5sRE8bSjvFpZpgUPrR4t2TjQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=XAJRvBLPmGwCq9+nlAn7NINC/xqROZ63d5XyR1FjxMZmxb582MIum+0HJhMuH1ObAwm3jhR2Md1beGzOSymKwZzDgUvpSyg2z2gSbZ6L2h0dBNDdzbPwvqbfhQYz/R8QBiS9I4EJI8DZc3YD3G7fRaeiiTu1XX0ghJ1ln3ObBmM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=v+EA3djM; 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="v+EA3djM" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7658B1F000C4; Sun, 18 Oct 2026 16:12:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1792339928; bh=Vued1nVKCD2od3WP7zmwtJzUczOcNSW7vJhRcOeiNHk=; h=From:To:Cc:Subject:Date:Reply-To; b=v+EA3djMkqrT5sJhH/AqhLi8L/BWvN2tEG7CsyE/r4v/7DZ6XaDOVvVOTOhb1s2MU LH+6Qf7hRnRCQMP5gm1kB6JNYQi/t8DhgJJ81j6cmnoTHmx5UBsoTKKOqZrlSzAf68 cBvAsKmbv7qfG2NN6OQic9jNyLx96oWO/0Wile0s= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2026-98763: usb: core: clear both ep_in and ep_out for non-ep0 control endpoints Date: Sun, 18 Oct 2026 17:45:38 +0200 Message-ID: <2026101817-CVE-2026-98763-fac5@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=3179; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=PAVIE8RzMQiZlmBMzx2xwG3iGzM9ofhAf0q420eJ90w=; b=owGbwMvMwCRo6H6F97bub03G02pJDFlXXgb28+94qhTArcI3o17c4KT058mP313seBGhsmmai lqt9eYpHbEsDIJMDLJiiixftvEc3V9xSNHL0PY0zBxWJpAhDFycAjARne8M89RCvZpDAp4ENwoU LTwfZSu5bbL5SYb5qUc0BE649PjNzb306qt+kHv33rlRAA== 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: usb: core: clear both ep_in and ep_out for non-ep0 control endpoints In usb_enable_endpoint(), non-zero control endpoints (where usb_endpoint_xfer_control(&ep->desc) is true) populate both dev->ep_in[epnum] and dev->ep_out[epnum] with the same struct usb_host_endpoint pointer. However, usb_disable_endpoint() only clears either dev->ep_out[epnum] or dev->ep_in[epnum] depending on the direction bit of epaddr when reset_hardware is set, leaving the opposite direction's array slot pointing to the disabled/freed endpoint. Clear both dev->ep_out[epnum] and dev->ep_in[epnum] when disabling a non-ep0 control endpoint with reset_hardware set, and update the function kerneldoc accordingly. Tested in QEMU against Linux 7.3.0-rc3 using dummy_hcd and raw-gadget to enumerate a USB device with a non-zero control endpoint (bEndpointAddress 0x01, bmAttributes USB_ENDPOINT_XFER_CONTROL), verifying that both dev->ep_in[1] and dev->ep_out[1] are cleared when the interface is disabled. The Linux kernel CVE team has assigned CVE-2026-98763 to this issue. Affected and fixed versions =========================== Issue introduced in 2.6.12 with commit 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 and fixed in 6.12.113 with commit 7a9f61476b0e8002092a52ee8295edeeb0a28d1e Issue introduced in 2.6.12 with commit 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 and fixed in 6.18.56 with commit 1da16c46b8d7101b74bc2d72a04e23cf5c7ddea1 Issue introduced in 2.6.12 with commit 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 and fixed in 7.2.10 with commit c50413ecb662ea43c7f487632c8114721743a277 Issue introduced in 2.6.12 with commit 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 and fixed in 7.3-rc6 with commit 0e8baa78d872f2db440d8b9ded946ab8dceb89eb 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-98763 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/usb/core/message.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/7a9f61476b0e8002092a52ee8295edeeb0a28d1e https://git.kernel.org/stable/c/1da16c46b8d7101b74bc2d72a04e23cf5c7ddea1 https://git.kernel.org/stable/c/c50413ecb662ea43c7f487632c8114721743a277 https://git.kernel.org/stable/c/0e8baa78d872f2db440d8b9ded946ab8dceb89eb