Skip to content
OpenAdvisories
High · 8.2 CVE-2021-46955 EUVD-2021-33603GHSA-6mwq-mrw3-3m6c

openvswitch: fix stack OOB read while fragmenting IPv4 packets

Published Feb 27, 2024 · Updated Aug 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-edge Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-kvm Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lts-xenial Package: linux-nvidia-6.2 Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-vmware Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

openvswitch: fix stack OOB read while fragmenting IPv4 packets

running openvswitch on kernels built with KASAN, it's possible to see the
following splat while testing fragmentation of IPv4 packets:

BUG: KASAN: stack-out-of-bounds in ip_do_fragment+0x1b03/0x1f60
Read of size 1 at addr ffff888112fc713c by task handler2/1367

CPU: 0 PID: 1367 Comm: handler2 Not tainted 5.12.0-rc6+ #418
Hardware name: Red Hat KVM, BIOS 1.11.1-4.module+el8.1.0+4066+0f1aadab 04/01/2014
Call Trace:
dump_stack+0x92/0xc1
print_address_description.constprop.7+0x1a/0x150
kasan_report.cold.13+0x7f/0x111
ip_do_fragment+0x1b03/0x1f60
ovs_fragment+0x5bf/0x840 [openvswitch]
do_execute_actions+0x1bd5/0x2400 [openvswitch]
ovs_execute_actions+0xc8/0x3d0 [openvswitch]
ovs_packet_cmd_execute+0xa39/0x1150 [openvswitch]
genl_family_rcv_msg_doit.isra.15+0x227/0x2d0
genl_rcv_msg+0x287/0x490
netlink_rcv_skb+0x120/0x380
genl_rcv+0x24/0x40
netlink_unicast+0x439/0x630
netlink_sendmsg+0x719/0xbf0
sock_sendmsg+0xe2/0x110
____sys_sendmsg+0x5ba/0x890
___sys_sendmsg+0xe9/0x160
__sys_sendmsg+0xd3/0x170
do_syscall_64+0x33/0x40
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f957079db07
Code: c3 66 90 41 54 41 89 d4 55 48 89 f5 53 89 fb 48 83 ec 10 e8 eb ec ff ff 44 89 e2 48 89 ee 89 df 41 89 c0 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 44 89 c7 48 89 44 24 08 e8 24 ed ff ff 48
RSP: 002b:00007f956ce35a50 EFLAGS: 00000293 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 0000000000000019 RCX: 00007f957079db07
RDX: 0000000000000000 RSI: 00007f956ce35ae0 RDI: 0000000000000019
RBP: 00007f956ce35ae0 R08: 0000000000000000 R09: 00007f9558006730
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000
R13: 00007f956ce37308 R14: 00007f956ce35f80 R15: 00007f956ce35ae0

The buggy address belongs to the page:
page:00000000af2a1d93 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x112fc7
flags: 0x17ffffc0000000()
raw: 0017ffffc0000000 0000000000000000 dead000000000122 0000000000000000
raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
page dumped because: kasan: bad access detected

addr ffff888112fc713c is located in stack of task handler2/1367 at offset 180 in frame:
ovs_fragment+0x0/0x840 [openvswitch]

this frame has 2 objects:
[32, 144) 'ovs_dst'
[192, 424) 'ovs_rt'

Memory state around the buggy address:
ffff888112fc7000: f3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffff888112fc7080: 00 f1 f1 f1 f1 00 00 00 00 00 00 00 00 00 00 00
>ffff888112fc7100: 00 00 00 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00
^
ffff888112fc7180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffff888112fc7200: 00 00 00 00 00 00 f2 f2 f2 00 00 00 00 00 00 00

for IPv4 packets, ovs_fragment() uses a temporary struct dst_entry. Then,
in the following call graph:

ip_do_fragment()
ip_skb_dst_mtu()
ip_dst_mtu_maybe_forward()
ip_mtu_locked()

the pointer to struct dst_entry is used as pointer to struct rtable: this
turns the access to struct members like rt_mtu_locked into an OOB read in
the stack. Fix this changing the temporary variable used for IPv4 packets
in ovs_fragment(), similarly to what is done for IPv6 few lines below.

Affected products

VendorProductAffectedFixed
Linux Linux 4.4.134 – < 4.4.269, 4.9.104 – < 4.9.269, 4.14.45 – < 4.14.233, 3.16.57 – < 3.17, 4.16 4.4.269

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 5.10.38-1 —
Debian 13 linux 5.10.38-1 —
Debian 12 linux 5.10.38-1 —
ReleasePackageFixed inAdvisory
Ubuntu 24.04 LTS linux-raspi-realtime No fix yet —
Ubuntu 22.04 LTS linux-riscv +22 No fix yet —
Ubuntu 20.04 LTS linux 5.4.0-77.86 —
Ubuntu 20.04 LTS linux-aws +1 5.4.0-1051.53 —
Ubuntu 20.04 LTS linux-bluefield 5.4.0-1013.16 —
Ubuntu 20.04 LTS linux-gcp 5.4.0-1046.49 —
Ubuntu 20.04 LTS linux-gke +26 No fix yet —
Ubuntu 20.04 LTS linux-gkeop 5.4.0-1018.19 —
Ubuntu 20.04 LTS linux-kvm 5.4.0-1041.42 —
Ubuntu 20.04 LTS linux-oracle 5.4.0-1048.52 —
Ubuntu 20.04 LTS linux-raspi 5.4.0-1038.41 —
Ubuntu 18.04 LTS linux 4.15.0-151.157 —
Ubuntu 18.04 LTS linux-aws 4.15.0-1109.116 —
Ubuntu 18.04 LTS linux-aws-5.4 +1 5.4.0-1051.53~18.04.1 —
Ubuntu 18.04 LTS linux-azure-4.15 4.15.0-1121.134 —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 18.04 LTS linux-gcp-4.15 4.15.0-1106.120 —
Ubuntu 18.04 LTS linux-gcp-5.4 5.4.0-1046.49~18.04.1 —
Ubuntu 18.04 LTS linux-hwe-5.4 5.4.0-77.86~18.04.1 —
Ubuntu 18.04 LTS linux-kvm 4.15.0-1097.99 —
Ubuntu 18.04 LTS linux-oracle 4.15.0-1078.86 —
Ubuntu 18.04 LTS linux-oracle-5.4 5.4.0-1048.52~18.04.1 —
Ubuntu 18.04 LTS linux-raspi-5.4 5.4.0-1038.41~18.04.1 —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Show 8 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 20.04 LTS linux-aws-fips 5.4.0-1069.73+fips2 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-azure-fips 5.4.0-1073.76+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips 5.4.0-1028.32 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-gcp-fips 5.4.0-1067.71~20.04.1 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-aws-fips 4.15.0-2051.53 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-azure-fips 4.15.0-2033.37 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips 4.15.0-1066.75 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-gcp-fips 4.15.0-2016.18 —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips 4.4.0-1100.107 —
Ubuntu Pro 16.04 LTS linux 4.4.0-253.287 USN-6739-1
Ubuntu Pro 16.04 LTS linux-aws 4.4.0-1168.183 USN-6739-1
Ubuntu Pro 16.04 LTS linux-aws-hwe 4.15.0-1109.116~16.04.1 —
Ubuntu Pro 16.04 LTS linux-azure 4.15.0-1121.134~16.04.1 —
Ubuntu Pro 16.04 LTS linux-gcp 4.15.0-1106.120~16.04.1 —
Ubuntu Pro 16.04 LTS linux-hwe 4.15.0-151.157~16.04.1 —
Ubuntu Pro 16.04 LTS linux-kvm 4.4.0-1131.141 USN-6739-1
Ubuntu Pro 16.04 LTS linux-oracle 4.15.0-1078.86~16.04.1 —
Ubuntu Pro 14.04 LTS linux-aws 4.4.0-1130.136 USN-6739-1
Ubuntu Pro 14.04 LTS linux-azure 4.15.0-1121.134~14.04.1 —
Ubuntu Pro 14.04 LTS linux-lts-xenial 4.4.0-253.287~14.04.1 USN-6739-1
ReleasePackageFixed inAdvisory
SLES 15 SP3 kernel-64kb +6 5.3.18-150300.59.161.1 SUSE-SU-2024:1642-1
SLES 15 SP3 kernel-default-base 5.3.18-150300.59.161.1.150300.18.94.1 SUSE-SU-2024:1642-1
SLES 15 SP3 kernel-docs 5.3.18-150300.59.161.2 SUSE-SU-2024:1642-1
SLES 15 SP2 kernel-default-base 5.3.18-150200.24.191.1.150200.9.97.1 SUSE-SU-2024:1650-1
SLES 15 SP2 kernel-docs +5 5.3.18-150200.24.191.1 SUSE-SU-2024:1650-1
SLES 12 SP5 kernel-azure +2 4.12.14-16.182.1 SUSE-SU-2024:1643-1
SLES 12 SP5 kernel-docs +4 4.12.14-122.219.1 SUSE-SU-2024:2184-1
Show 12 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP3 kernel-default-base 5.3.18-150300.59.161.1.150300.18.94.1 SUSE-SU-2024:1642-1
SLES for SAP 15 SP3 kernel-docs 5.3.18-150300.59.161.2 SUSE-SU-2024:1642-1
SLES for SAP 15 SP3 kernel-syms +4 5.3.18-150300.59.161.1 SUSE-SU-2024:1642-1
SLES for SAP 15 SP2 kernel-default-base 5.3.18-150200.24.191.1.150200.9.97.1 SUSE-SU-2024:1650-1
SLES for SAP 15 SP2 kernel-docs +5 5.3.18-150200.24.191.1 SUSE-SU-2024:1650-1
SLES for SAP 12 SP5 kernel-azure +2 4.12.14-16.182.1 SUSE-SU-2024:1643-1
SLES for SAP 12 SP5 kernel-syms +2 4.12.14-122.219.1 SUSE-SU-2024:2184-1
SLE Real Time 12 SP5 kernel-rt +3 4.12.14-10.188.1 SUSE-SU-2024:1983-1
SLE Micro 5.2 kernel-default 5.3.18-150300.59.161.1 SUSE-SU-2024:1642-1
SLE Micro 5.2 kernel-default-base 5.3.18-150300.59.161.1.150300.18.94.1 SUSE-SU-2024:1642-1
SLE Micro 5.2 kernel-rt +1 5.3.18-150300.169.1 SUSE-SU-2024:1645-1
SLE Micro 5.1 kernel-default 5.3.18-150300.59.161.1 SUSE-SU-2024:1642-1
SLE Micro 5.1 kernel-default-base 5.3.18-150300.59.161.1.150300.18.94.1 SUSE-SU-2024:1642-1
SLE Micro 5.1 kernel-rt +1 5.3.18-150300.169.1 SUSE-SU-2024:1645-1
SLE Live Patching 15 SP3 kernel-default 5.3.18-150300.59.161.1 SUSE-SU-2024:1642-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_33 13-150300.2.2 SUSE-SU-2024:2124-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_37 10-150300.2.2 SUSE-SU-2024:2143-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_39 8-150300.2.2 SUSE-SU-2024:2145-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_42 4-150300.7.6.2 SUSE-SU-2025:0244-1, SUSE-SU-2025:0101-1, SUSE-SU-2024:4256-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_43 3-150300.7.6.2 SUSE-SU-2025:0240-1, SUSE-SU-2025:0106-1, SUSE-SU-2024:4264-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_44 1-150300.7.3.1 SUSE-SU-2024:1642-1
SLE Live Patching 15 SP2 kernel-default 5.3.18-150200.24.191.1 SUSE-SU-2024:1650-1
SLE Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_38 12-150200.2.2 SUSE-SU-2024:2109-1
SLE Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_41 10-150200.2.2 SUSE-SU-2024:2123-1
SLE Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_43 8-150200.2.2 SUSE-SU-2024:2115-1
SLE Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_46 4-150200.5.6.2 SUSE-SU-2024:4242-1, SUSE-SU-2024:3803-1, SUSE-SU-2024:3642-1
SLE Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_47 3-150200.5.6.2 SUSE-SU-2024:4263-1, SUSE-SU-2024:3796-1, SUSE-SU-2024:3649-1
SLE Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_48 1-150200.5.3.1 SUSE-SU-2024:1650-1
SLE Live Patching 12 SP5 kernel-default 4.12.14-122.219.1 SUSE-SU-2024:2184-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_44 14-2.1 SUSE-SU-2024:2124-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_49 9-2.1 SUSE-SU-2024:2123-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_51 8-2.1 SUSE-SU-2024:2202-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_54 4-8.10.1 SUSE-SU-2025:0103-1, SUSE-SU-2024:4226-1, SUSE-SU-2024:3820-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_56 2-8.6.1 SUSE-SU-2025:0091-1, SUSE-SU-2024:4249-1, SUSE-SU-2024:3821-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_57 1-8.3.1 SUSE-SU-2024:2184-1
SLE HPC 15 SP3 kernel-64kb +5 5.3.18-150300.59.161.1 SUSE-SU-2024:1642-1
SLE HPC 15 SP3 kernel-default-base 5.3.18-150300.59.161.1.150300.18.94.1 SUSE-SU-2024:1642-1
SLE HPC 15 SP3 kernel-docs 5.3.18-150300.59.161.2 SUSE-SU-2024:1642-1
SLE HPC 15 SP2 kernel-default-base 5.3.18-150200.24.191.1.150200.9.97.1 SUSE-SU-2024:1650-1
SLE HPC 15 SP2 kernel-docs +5 5.3.18-150200.24.191.1 SUSE-SU-2024:1650-1
SUSE Enterprise Storage 7.1 kernel-64kb +5 5.3.18-150300.59.161.1 SUSE-SU-2024:1642-1
SUSE Enterprise Storage 7.1 kernel-default-base 5.3.18-150300.59.161.1.150300.18.94.1 SUSE-SU-2024:1642-1
SUSE Enterprise Storage 7.1 kernel-docs 5.3.18-150300.59.161.2 SUSE-SU-2024:1642-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2 kernel-livepatch-4.14.238-182.421 1.0-0.amzn2 ALAS2-2021-1685
Amazon Linux 2 perf +8 4.14.238-182.421.amzn2 ALAS2-2021-1685

Advisories 50

References