aboutsummarylogtreecommitdiffstats
path: root/0006-netfilter-nft_payload-incorrect-arithmetics-when-fetching-vlan-header-bits.patch
diff options
context:
space:
mode:
Diffstat (limited to '0006-netfilter-nft_payload-incorrect-arithmetics-when-fetching-vlan-header-bits.patch')
-rw-r--r--0006-netfilter-nft_payload-incorrect-arithmetics-when-fetching-vlan-header-bits.patch37
1 files changed, 0 insertions, 37 deletions
diff --git a/0006-netfilter-nft_payload-incorrect-arithmetics-when-fetching-vlan-header-bits.patch b/0006-netfilter-nft_payload-incorrect-arithmetics-when-fetching-vlan-header-bits.patch
deleted file mode 100644
index ef401a9f86f0..000000000000
--- a/0006-netfilter-nft_payload-incorrect-arithmetics-when-fetching-vlan-header-bits.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 696e1a48b1a1b01edad542a1ef293665864a4dd0 Mon Sep 17 00:00:00 2001
-From: Pablo Neira Ayuso <pablo@netfilter.org>
-Date: Wed, 11 Jan 2023 17:07:33 +0100
-Subject: netfilter: nft_payload: incorrect arithmetics when fetching VLAN header bits
-
-From: Pablo Neira Ayuso <pablo@netfilter.org>
-
-commit 696e1a48b1a1b01edad542a1ef293665864a4dd0 upstream.
-
-If the offset + length goes over the ethernet + vlan header, then the
-length is adjusted to copy the bytes that are within the boundaries of
-the vlan_ethhdr scratchpad area. The remaining bytes beyond ethernet +
-vlan header are copied directly from the skbuff data area.
-
-Fix incorrect arithmetic operator: subtract, not add, the size of the
-vlan header in case of double-tagged packets to adjust the length
-accordingly to address CVE-2023-0179.
-
-Reported-by: Davide Ornaghi <d.ornaghi97@gmail.com>
-Fixes: f6ae9f120dad ("netfilter: nft_payload: add C-VLAN support")
-Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- net/netfilter/nft_payload.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/net/netfilter/nft_payload.c
-+++ b/net/netfilter/nft_payload.c
-@@ -63,7 +63,7 @@ nft_payload_copy_vlan(u32 *d, const stru
- return false;
-
- if (offset + len > VLAN_ETH_HLEN + vlan_hlen)
-- ethlen -= offset + len - VLAN_ETH_HLEN + vlan_hlen;
-+ ethlen -= offset + len - VLAN_ETH_HLEN - vlan_hlen;
-
- memcpy(dst_u8, vlanh + offset - vlan_hlen, ethlen);
-