Subject: CVE-2024-27417: ipv6: fix potential "struct net" leak in inet6_rtm_getaddr()

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

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

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

ipv6: fix potential "struct net" leak in inet6_rtm_getaddr()

It seems that if userspace provides a correct IFA_TARGET_NETNSID value
but no IFA_ADDRESS and IFA_LOCAL attributes, inet6_rtm_getaddr()
returns -EINVAL with an elevated "struct net" refcount.

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

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

	Issue introduced in 4.20 with commit 6ecf4c37eb3e and fixed in 5.4.271 with commit 9d4ffb5b9d87
	Issue introduced in 4.20 with commit 6ecf4c37eb3e and fixed in 5.10.212 with commit 810fa7d5e520
	Issue introduced in 4.20 with commit 6ecf4c37eb3e and fixed in 5.15.151 with commit 8a54834c03c3
	Issue introduced in 4.20 with commit 6ecf4c37eb3e and fixed in 6.1.81 with commit 1b0998fdd857
	Issue introduced in 4.20 with commit 6ecf4c37eb3e and fixed in 6.6.21 with commit 44112bc5c74e
	Issue introduced in 4.20 with commit 6ecf4c37eb3e and fixed in 6.7.9 with commit 33a1b6bfef6d
	Issue introduced in 4.20 with commit 6ecf4c37eb3e and fixed in 6.8 with commit 10bfd453da64

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-27417
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:
	net/ipv6/addrconf.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/9d4ffb5b9d879a75e4f7460e8b10e756b4dfb132
	https://git.kernel.org/stable/c/810fa7d5e5202fcfb22720304b755f1bdfd4c174
	https://git.kernel.org/stable/c/8a54834c03c30e549c33d5da0975f3e1454ec906
	https://git.kernel.org/stable/c/1b0998fdd85776775d975d0024bca227597e836a
	https://git.kernel.org/stable/c/44112bc5c74e64f28f5a9127dc34066c7a09bd0f
	https://git.kernel.org/stable/c/33a1b6bfef6def2068c8703403759024ce17053e
	https://git.kernel.org/stable/c/10bfd453da64a057bcfd1a49fb6b271c48653cdb