* CVE-2026-89783: xfrm6: fix out-of-bounds write in xfrm6_input_addr() when secpath is full
@ 2026-09-16 8:46 Greg Kroah-Hartman
0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-09-16 8:46 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:
xfrm6: fix out-of-bounds write in xfrm6_input_addr() when secpath is full
The depth check in xfrm6_input_addr() is off by one:
if (1 + sp->len == XFRM_MAX_DEPTH)
goto drop;
...
sp->xvec[sp->len++] = x;
xfrm_input() can leave sp->len == XFRM_MAX_DEPTH, and the transport-mode
receive path re-enters IPv6 input via xfrm_trans_reinject() with that
secpath preserved. If the inner packet carries a destination-options HAO
option or a type-2 routing header, xfrm6_input_addr() is called with
sp->len == XFRM_MAX_DEPTH; the check (1 + 6 == 6) is false, so
sp->xvec[sp->len++] writes one slot past the 6-element xvec[]. The write
stays within the sec_path allocation (invisible to KASAN); UBSAN_BOUNDS
flags it and panics under panic_on_warn.
Use "sp->len >= XFRM_MAX_DEPTH", matching xfrm_input(). This also
restores one chain level the old check rejected at sp->len == 5.
UBSAN: array-index-out-of-bounds in net/ipv6/xfrm6_input.c:309:10
index 6 is out of range for type 'xfrm_state *[6]'
The Linux kernel CVE team has assigned CVE-2026-89783 to this issue.
Affected and fixed versions
===========================
Issue introduced in 2.6.25 with commit 9473e1f631de339c50bde1e3bd09e1045fe90fd5 and fixed in 5.10.270 with commit 91fc387f63c00ddfb5221127a17bac97549a8343
Issue introduced in 2.6.25 with commit 9473e1f631de339c50bde1e3bd09e1045fe90fd5 and fixed in 5.15.221 with commit 68e8737fe8e72f085c608cff322b3d2de8340af1
Issue introduced in 2.6.25 with commit 9473e1f631de339c50bde1e3bd09e1045fe90fd5 and fixed in 6.1.188 with commit 8fe2c53fb81f5ad5be43af2ad09583f7c78b4b77
Issue introduced in 2.6.25 with commit 9473e1f631de339c50bde1e3bd09e1045fe90fd5 and fixed in 6.6.157 with commit bdcda866c89f9a8b1acdabf02d26cde9fbe501d8
Issue introduced in 2.6.25 with commit 9473e1f631de339c50bde1e3bd09e1045fe90fd5 and fixed in 6.12.110 with commit 48996649222e95008cdb98cd58579e3fc8e5ee06
Issue introduced in 2.6.25 with commit 9473e1f631de339c50bde1e3bd09e1045fe90fd5 and fixed in 6.18.52 with commit 0f679e0523ddfff3fb554336ceb874b0e51e9cd3
Issue introduced in 2.6.25 with commit 9473e1f631de339c50bde1e3bd09e1045fe90fd5 and fixed in 7.2.6 with commit 5f35a29a5eed3d80befd32050843ac88dea3d61a
Issue introduced in 2.6.25 with commit 9473e1f631de339c50bde1e3bd09e1045fe90fd5 and fixed in 7.3-rc1 with commit 5d9e3bf34fec9a5d237e4b7cef4a707bc2e091bc
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-89783
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/xfrm6_input.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/91fc387f63c00ddfb5221127a17bac97549a8343
https://git.kernel.org/stable/c/68e8737fe8e72f085c608cff322b3d2de8340af1
https://git.kernel.org/stable/c/8fe2c53fb81f5ad5be43af2ad09583f7c78b4b77
https://git.kernel.org/stable/c/bdcda866c89f9a8b1acdabf02d26cde9fbe501d8
https://git.kernel.org/stable/c/48996649222e95008cdb98cd58579e3fc8e5ee06
https://git.kernel.org/stable/c/0f679e0523ddfff3fb554336ceb874b0e51e9cd3
https://git.kernel.org/stable/c/5f35a29a5eed3d80befd32050843ac88dea3d61a
https://git.kernel.org/stable/c/5d9e3bf34fec9a5d237e4b7cef4a707bc2e091bc
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-16 8:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-16 8:46 CVE-2026-89783: xfrm6: fix out-of-bounds write in xfrm6_input_addr() when secpath is full 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.