All of lore.kernel.org
 help / color / mirror / Atom feed
* CVE-2026-64006: netfilter: nf_tables: fix dst corruption in same register operation
@ 2026-07-19 14:57 Greg Kroah-Hartman
  0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-07-19 14:57 UTC (permalink / raw)
  To: linux-cve-announce; +Cc: Greg Kroah-Hartman

From: Greg Kroah-Hartman <gregkh@kernel.org>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

netfilter: nf_tables: fix dst corruption in same register operation

For lshift and rshift, the shift operations are performed in a loop over
32-bit words. The loop calculates the shifted value and write it to dst,
and then immediately reads from src to calculate the carry for the next
iteration. Because src and dst could point to the same memory location,
the carry is incorrectly calculated using the newly modified dst value
instead of the original src value.

Adding a temporary local variable to cache the original value before
writing to dst and using it for the carry calculation solves the
problem. In addition, partial overlap is rejected from control plane for
all kind of operations including byteorder. This was tested with the
following bytecode:

table test_table ip flags 0 use 1 handle 1
ip test_table test_chain use 3 type filter hook input prio 0 policy accept packets 0 bytes 0 flags 1
ip test_table test_chain 2
  [ immediate reg 1 0x44332211 0x88776655 ]
  [ bitwise reg 1 = ( reg 1 << 0x08000000 ) ]
  [ cmp eq reg 1 0x66443322 0x00887766 ]
  [ counter pkts 0 bytes 0 ]
ip test_table test_chain 4 3
  [ immediate reg 1 0x44332211 0x88776655 ]
  [ bitwise reg 1 = ( reg 1 << 0x08000000 ) ]
  [ cmp eq reg 1 0x55443322 0x00887766 ]
  [ counter pkts 21794 bytes 1917798 ]

The Linux kernel CVE team has assigned CVE-2026-64006 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 5.6 with commit 567d746b55bc66d3800c9ae91d50f0c5deb2fd93 and fixed in 6.6.143 with commit b80ef316e978de2ef81d5bee9c19800b4cf96fb8
	Issue introduced in 5.6 with commit 567d746b55bc66d3800c9ae91d50f0c5deb2fd93 and fixed in 6.18.35 with commit 96bea2a7baac4a1137c188dc7610184487ab30a7
	Issue introduced in 5.6 with commit 567d746b55bc66d3800c9ae91d50f0c5deb2fd93 and fixed in 7.0.12 with commit a391afe74398b70107f111aa731eab608624949d
	Issue introduced in 5.6 with commit 567d746b55bc66d3800c9ae91d50f0c5deb2fd93 and fixed in 7.1 with commit 18014147d3ee7831dce53fe65d7fc8d428b02552

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-64006
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:
	include/net/netfilter/nf_tables.h
	net/netfilter/nft_bitwise.c
	net/netfilter/nft_byteorder.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/b80ef316e978de2ef81d5bee9c19800b4cf96fb8
	https://git.kernel.org/stable/c/96bea2a7baac4a1137c188dc7610184487ab30a7
	https://git.kernel.org/stable/c/a391afe74398b70107f111aa731eab608624949d
	https://git.kernel.org/stable/c/18014147d3ee7831dce53fe65d7fc8d428b02552

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-19 15:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-19 14:57 CVE-2026-64006: netfilter: nf_tables: fix dst corruption in same register operation Greg Kroah-Hartman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.