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 63B4E51D53F for ; Fri, 4 Sep 2026 17:20:07 +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=1788542408; cv=none; b=PHwXrxVyDBYql5bGm8vaZtwgFfkgWn01trdZ24oSSp9Vyq2EQBKJKPPg4GLagpKs9ukU4oHuzI33iff73c/ue4cGmp8cZMax8Q47/BZnQzGYPBvQjTb3ITy6NmG8NaifT4H95ljf9/hJ/cjYyyGFPkaN7HTFu3W/7u/8aa+/N18= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788542408; c=relaxed/simple; bh=aGNnu3ZXegW6o5yw//9LDd9n84xM6jgkG2VGD+gY1Ag=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=J6yVMcCWD7MsoMwbIyoGLNwxfBvefhG0R91onS9PSTqQ5SsgHh9QsghcNEZEXvMqILiolyXPByl7z9kXgTA2jKdxwT9UhWWkqqH0t9cOAsF39E8yfilpmwisW4rYM+k5KBHfCHwgAQ5FoIgyVplqSwN4t8Z5WwFYUB/Zgbd3o1Q= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=dVwMYFYV; 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="dVwMYFYV" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 52A421F00A3E; Fri, 4 Sep 2026 17:20:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1788542407; bh=SiuD0LN6fzjCGNR7a7gipGC/0LluLT5H+9OJhht422A=; h=From:To:Cc:Subject:Date:Reply-To; b=dVwMYFYV09QoiWDqlPHxFS+THcNH8wG9CDRzcbV/5LnA2SzcUhUMMuP4n/ziV2QP9 PjtfIYLANOZXQ6KkROg4QvQu5clJaaSJYCY+b3uXKEryK+XKmlct6V3ZAFXRPiyouQ g3CGYNjRylYfXOvnlgmWEkMvzv5YkijccWx7C1wA= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2026-80905: net: tap: fix wrong transport_header when sending VLAN-tagged frame Date: Fri, 4 Sep 2026 19:17:36 +0200 Message-ID: <2026090434-CVE-2026-80905-e20c@gregkh> X-Mailer: git-send-email 2.55.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=3450; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=ZyM1/MgPqeVM7vcbwubm5zvnl9zKXWodGMc2gUP+mLI=; b=owGbwMvMwCRo6H6F97bub03G02pJDFmz/up9N8jd/WjqwrcCayujoxfpmN97YZfWKCroWKDU1 vyj8rF4RywLgyATg6yYIsuXbTxH91ccUvQytD0NM4eVCWQIAxenAEzkbAvDgr4HTd2+HzX0Nuyq 3Vh0MJD3w6/PGgyz2X/7B7s1SX22cr2dvufCOp1rE9/uAwA= 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: net: tap: fix wrong transport_header when sending VLAN-tagged frame In tap_get_user_xdp(), when processing a VLAN-tagged frame (e.g. ETH_P_8021Q), skb_set_network_header() is called first to advance network_header past the VLAN tag to the inner protocol header. skb_probe_transport_header() is then called with skb->protocol still set to ETH_P_8021Q, while nhoff (derived from skb_network_offset()) already points past the VLAN tag to the inner protocol header. In __skb_flow_dissect(), proto is initialized to ETH_P_8021Q and nhoff points past the VLAN tag. When the dissector hits case ETH_P_8021Q, it reads a struct vlan_hdr at the current nhoff via __skb_header_pointer(), but that offset contains the inner protocol header (e.g. an IP header). The bytes are misinterpreted as a VLAN header, yielding a garbage encapsulated EtherType that matches no known protocol. The dissector returns false, so skb_probe_transport_header() never calls skb_set_transport_header(), leaving transport_header at its uninitialized sentinel value (~0U). Move skb_set_network_header() to after skb_probe_transport_header(). At the time skb_probe_transport_header() is called, network_header still points to the VLAN header (offset ETH_HLEN), so nhoff is correct and the flow dissector can parse the VLAN header, extract the inner EtherType, and advance nhoff to the inner protocol header, allowing transport_header to be set correctly. The Linux kernel CVE team has assigned CVE-2026-80905 to this issue. Affected and fixed versions =========================== Issue introduced in 5.0 with commit 8c76e77f9069f10505c08e02646c3ee11ad79038 and fixed in 6.18.46 with commit 5ffaa5d7f56ab24a8e23cf131eadfef31a3bbc4b Issue introduced in 5.0 with commit 8c76e77f9069f10505c08e02646c3ee11ad79038 and fixed in 7.1.10 with commit 88b79ac89ecc04d7f2613f7e1c0b46f0c4ddb2f3 Issue introduced in 5.0 with commit 8c76e77f9069f10505c08e02646c3ee11ad79038 and fixed in 7.2 with commit cbb35cbe8db268fefe34c23df15348cf99025298 Issue introduced in 4.20.1 with commit 3cae5ef1f37a475faf7c40bc6a3c170779f3e0b1 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-80905 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/net/tap.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/5ffaa5d7f56ab24a8e23cf131eadfef31a3bbc4b https://git.kernel.org/stable/c/88b79ac89ecc04d7f2613f7e1c0b46f0c4ddb2f3 https://git.kernel.org/stable/c/cbb35cbe8db268fefe34c23df15348cf99025298