All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-cve-announce@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@kernel.org>
Subject: CVE-2026-53012: nexthop: fix IPv6 route referencing IPv4 nexthop
Date: Wed, 24 Jun 2026 17:30:36 +0100	[thread overview]
Message-ID: <2026062450-CVE-2026-53012-8705@gregkh> (raw)

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

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

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

nexthop: fix IPv6 route referencing IPv4 nexthop

syzbot reported a panic [1] [2].

When an IPv6 nexthop is replaced with an IPv4 nexthop, the has_v4 flag
of all groups containing this nexthop is not updated. This is because
nh_group_v4_update is only called when replacing AF_INET to AF_INET6,
but the reverse direction (AF_INET6 to AF_INET) is missed.

This allows a stale has_v4=false to bypass fib6_check_nexthop, causing
IPv6 routes to be attached to groups that effectively contain only AF_INET
members. Subsequent route lookups then call nexthop_fib6_nh() which
returns NULL for the AF_INET member, leading to a NULL pointer
dereference.

Fix by calling nh_group_v4_update whenever the family changes, not just
AF_INET to AF_INET6.

Reproducer:
	# AF_INET6 blackhole
	ip -6 nexthop add id 1 blackhole
	# group with has_v4=false
	ip nexthop add id 100 group 1
	# replace with AF_INET (no -6), has_v4 stays false
	ip nexthop replace id 1 blackhole
	# pass stale has_v4 check
	ip -6 route add 2001:db8::/64 nhid 100
	# panic
	ping -6 2001:db8::1

[1] https://syzkaller.appspot.com/bug?id=e17283eb2f8dcf3dd9b47fe6f67a95f71faadad0
[2] https://syzkaller.appspot.com/bug?id=8699b6ae54c9f35837d925686208402949e12ef3

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


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

	Issue introduced in 5.3 with commit 7bf4796dd09984ad1612877a82d0d139c70ae27f and fixed in 5.10.258 with commit ceffe81a0be92afc0cd1340bc8ca46559cce9bb4
	Issue introduced in 5.3 with commit 7bf4796dd09984ad1612877a82d0d139c70ae27f and fixed in 5.15.209 with commit 9c2d6770a5f4545a307eb66979bef7656a34d621
	Issue introduced in 5.3 with commit 7bf4796dd09984ad1612877a82d0d139c70ae27f and fixed in 6.1.175 with commit 6275796f22bb382f3e9aa58ed0b4ef7bdad78cb8
	Issue introduced in 5.3 with commit 7bf4796dd09984ad1612877a82d0d139c70ae27f and fixed in 6.6.141 with commit aaac3bed034239e1d75732211d9b05f30b0b4f35
	Issue introduced in 5.3 with commit 7bf4796dd09984ad1612877a82d0d139c70ae27f and fixed in 6.12.91 with commit ad85961004fd4bd2f31209ac4b07612c6cefb9e7
	Issue introduced in 5.3 with commit 7bf4796dd09984ad1612877a82d0d139c70ae27f and fixed in 6.18.33 with commit 613c8f4a501421dd258b07ea614205d4e16ec845
	Issue introduced in 5.3 with commit 7bf4796dd09984ad1612877a82d0d139c70ae27f and fixed in 7.0.10 with commit b3b7e850e1541f0520c4a12ec884255c30427ff6
	Issue introduced in 5.3 with commit 7bf4796dd09984ad1612877a82d0d139c70ae27f and fixed in 7.1 with commit 29c95185ba32b621fbc3800fb86e7dc3edf5c2be

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-53012
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/ipv4/nexthop.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/ceffe81a0be92afc0cd1340bc8ca46559cce9bb4
	https://git.kernel.org/stable/c/9c2d6770a5f4545a307eb66979bef7656a34d621
	https://git.kernel.org/stable/c/6275796f22bb382f3e9aa58ed0b4ef7bdad78cb8
	https://git.kernel.org/stable/c/aaac3bed034239e1d75732211d9b05f30b0b4f35
	https://git.kernel.org/stable/c/ad85961004fd4bd2f31209ac4b07612c6cefb9e7
	https://git.kernel.org/stable/c/613c8f4a501421dd258b07ea614205d4e16ec845
	https://git.kernel.org/stable/c/b3b7e850e1541f0520c4a12ec884255c30427ff6
	https://git.kernel.org/stable/c/29c95185ba32b621fbc3800fb86e7dc3edf5c2be

                 reply	other threads:[~2026-06-24 16:35 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2026062450-CVE-2026-53012-8705@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=cve@kernel.org \
    --cc=gregkh@kernel.org \
    --cc=linux-cve-announce@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.