Subject: CVE-2024-27403: netfilter: nft_flow_offload: reset dst in route object after setting up flow

From: Greg Kroah-Hartman <[email-masked]>

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

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

netfilter: nft_flow_offload: reset dst in route object after setting up flow

dst is transferred to the flow object, route object does not own it
anymore.  Reset dst in route object, otherwise if flow_offload_add()
fails, error path releases dst twice, leading to a refcount underflow.

The Linux kernel CVE team has assigned CVE-2024-27403 to this issue.

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

	Issue introduced in 4.16 with commit a3c90f7a2323 and fixed in 5.15.150 with commit 4c167af9f6b5
	Issue introduced in 4.16 with commit a3c90f7a2323 and fixed in 6.1.80 with commit 012df10717da
	Issue introduced in 4.16 with commit a3c90f7a2323 and fixed in 6.6.19 with commit 558b00a30e05
	Issue introduced in 4.16 with commit a3c90f7a2323 and fixed in 6.7.7 with commit 670548c8db44
	Issue introduced in 4.16 with commit a3c90f7a2323 and fixed in 6.8 with commit 9e0f0430389b

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-2024-27403
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_flow_table.h
	net/netfilter/nf_flow_table_core.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/4c167af9f6b5ae4a5dbc243d5983c295ccc2e43c
	https://git.kernel.org/stable/c/012df10717da02367aaf92c65f9c89db206c15f4
	https://git.kernel.org/stable/c/558b00a30e05753a62ecc7e05e939ca8f0241148
	https://git.kernel.org/stable/c/670548c8db44d76e40e1dfc06812bca36a61e9ae
	https://git.kernel.org/stable/c/9e0f0430389be7696396c62f037be4bf72cf93e3