Skip to content
OpenAdvisories
Unscored CVE-2023-52527 EUVD-2023-57152GHSA-j6qg-38wf-82gm

ipv4, ipv6: Fix handling of transhdrlen in __ip{,6}_append_data()

Published Mar 2, 2024 · Updated May 11, 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.15 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-6.5 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.15 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-6.5 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.15 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-6.5 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.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-ibm-5.4 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lts-xenial Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-tegra Package: linux-nvidia-tegra-5.15 Package: linux-nvidia-tegra-igx 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-oem-6.5 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.5 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.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-vmware Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

ipv4, ipv6: Fix handling of transhdrlen in __ip{,6}_append_data()

Including the transhdrlen in length is a problem when the packet is
partially filled (e.g. something like send(MSG_MORE) happened previously)
when appending to an IPv4 or IPv6 packet as we don't want to repeat the
transport header or account for it twice. This can happen under some
circumstances, such as splicing into an L2TP socket.

The symptom observed is a warning in __ip6_append_data():

WARNING: CPU: 1 PID: 5042 at net/ipv6/ip6_output.c:1800 __ip6_append_data.isra.0+0x1be8/0x47f0 net/ipv6/ip6_output.c:1800

that occurs when MSG_SPLICE_PAGES is used to append more data to an already
partially occupied skbuff. The warning occurs when 'copy' is larger than
the amount of data in the message iterator. This is because the requested
length includes the transport header length when it shouldn't. This can be
triggered by, for example:

sfd = socket(AF_INET6, SOCK_DGRAM, IPPROTO_L2TP);
bind(sfd, ...); // ::1
connect(sfd, ...); // ::1 port 7
send(sfd, buffer, 4100, MSG_MORE);
sendfile(sfd, dfd, NULL, 1024);

Fix this by only adding transhdrlen into the length if the write queue is
empty in l2tp_ip6_sendmsg(), analogously to how UDP does things.

l2tp_ip_sendmsg() looks like it won't suffer from this problem as it builds
the UDP packet itself.

Affected products

VendorProductAffectedFixed
Linux Linux 3.5 4.14.327

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 6.5.8-1 —
Debian 13 linux 6.5.8-1 —
Debian 12 linux 6.1.64-1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1035.37 —
Ubuntu 24.04 LTS linux-raspi-realtime No fix yet —
Ubuntu 22.04 LTS linux +1 5.15.0-94.104 —
Ubuntu 22.04 LTS linux-aws 5.15.0-1053.58 —
Ubuntu 22.04 LTS linux-azure 5.15.0-1056.64 —
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1056.64.1 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1051.59 —
Ubuntu 22.04 LTS linux-gke +1 5.15.0-1050.55 —
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1036.42 —
Ubuntu 22.04 LTS linux-ibm +1 5.15.0-1046.49 —
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1047.53 —
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1044.44 —
Ubuntu 22.04 LTS linux-nvidia-6.5 6.5.0-1014.14 —
Ubuntu 22.04 LTS linux-nvidia-tegra 5.15.0-1022.22 —
Ubuntu 22.04 LTS linux-nvidia-tegra-igx 5.15.0-1009.9 —
Ubuntu 22.04 LTS linux-oracle 5.15.0-1051.57 —
Ubuntu 22.04 LTS linux-riscv +28 No fix yet —
Ubuntu 22.04 LTS linux-xilinx-zynqmp 5.15.0-1027.31 —
Ubuntu 20.04 LTS linux 5.4.0-171.189 —
Ubuntu 20.04 LTS linux-aws 5.4.0-1118.128 —
Ubuntu 20.04 LTS linux-aws-5.15 5.15.0-1053.58~20.04.1 —
Ubuntu 20.04 LTS linux-azure 5.4.0-1123.130 —
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1056.64~20.04.1 —
Ubuntu 20.04 LTS linux-bluefield 5.4.0-1078.84 —
Ubuntu 20.04 LTS linux-gcp 5.4.0-1122.131 —
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1051.59~20.04.1 —
Ubuntu 20.04 LTS linux-gke +26 No fix yet —
Ubuntu 20.04 LTS linux-gkeop 5.4.0-1085.89 —
Ubuntu 20.04 LTS linux-gkeop-5.15 5.15.0-1036.42~20.04.1 —
Ubuntu 20.04 LTS linux-hwe-5.15 +1 5.15.0-94.104~20.04.1 —
Ubuntu 20.04 LTS linux-ibm 5.4.0-1065.70 —
Ubuntu 20.04 LTS linux-ibm-5.15 5.15.0-1046.49~20.04.1 —
Ubuntu 20.04 LTS linux-intel-iotg-5.15 5.15.0-1048.54~20.04.1 —
Ubuntu 20.04 LTS linux-iot 5.4.0-1030.31 —
Ubuntu 20.04 LTS linux-kvm 5.4.0-1106.113 —
Ubuntu 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1022.22~20.04.1 —
Ubuntu 20.04 LTS linux-oracle 5.4.0-1117.126 —
Ubuntu 20.04 LTS linux-oracle-5.15 5.15.0-1051.57~20.04.1 —
Ubuntu 20.04 LTS linux-raspi 5.4.0-1102.114 —
Ubuntu 20.04 LTS linux-riscv-5.15 5.15.0-1049.53~20.04.2 —
Ubuntu 20.04 LTS linux-xilinx-zynqmp 5.4.0-1037.41 —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Show 13 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1046.48 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1054.60 —
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 22.04 LTS linux-aws-fips 5.15.0-1053.58+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips 5.15.0-94.104+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1055.63+fips2 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-aws-fips 5.4.0-1118.128+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-azure-fips 5.4.0-1123.130+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips 5.4.0-1092.102 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-gcp-fips 5.4.0-1122.131+fips1 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-aws-fips 4.15.0-2111.117 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-azure-fips 4.15.0-2090.96 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips 4.15.0-1127.138 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-gcp-fips 4.15.0-2074.79 —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips 4.4.0-1105.112 —
Ubuntu Pro FIPS-preview 22.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro 18.04 LTS linux 4.15.0-229.241 USN-7028-1
Ubuntu Pro 18.04 LTS linux-aws 4.15.0-1173.186 USN-7028-1
Ubuntu Pro 18.04 LTS linux-aws-5.4 5.4.0-1118.128~18.04.1 —
Ubuntu Pro 18.04 LTS linux-azure-4.15 4.15.0-1181.196 USN-7028-1
Ubuntu Pro 18.04 LTS linux-azure-5.4 5.4.0-1123.130~18.04.1 —
Ubuntu Pro 18.04 LTS linux-gcp-4.15 4.15.0-1166.183 USN-7028-1
Ubuntu Pro 18.04 LTS linux-gcp-5.4 5.4.0-1122.131~18.04.1 —
Ubuntu Pro 18.04 LTS linux-hwe-5.4 5.4.0-171.189~18.04.1 —
Ubuntu Pro 18.04 LTS linux-ibm-5.4 5.4.0-1065.70~18.04.1 —
Ubuntu Pro 18.04 LTS linux-kvm 4.15.0-1156.161 USN-7028-1
Ubuntu Pro 18.04 LTS linux-oracle 4.15.0-1135.146 USN-7028-1
Ubuntu Pro 18.04 LTS linux-oracle-5.4 5.4.0-1117.126~18.04.1 —
Ubuntu Pro 18.04 LTS linux-raspi-5.4 5.4.0-1102.114~18.04.1 —
Ubuntu Pro 16.04 LTS linux 4.4.0-259.293 USN-7039-1
Ubuntu Pro 16.04 LTS linux-aws 4.4.0-1174.189 USN-7039-1
Ubuntu Pro 16.04 LTS linux-aws-hwe 4.15.0-1173.186~16.04.1 USN-7028-1
Ubuntu Pro 16.04 LTS linux-azure 4.15.0-1181.196~16.04.1 USN-7028-1
Ubuntu Pro 16.04 LTS linux-gcp 4.15.0-1166.183~16.04.1 USN-7028-1
Ubuntu Pro 16.04 LTS linux-hwe 4.15.0-229.241~16.04.1 USN-7028-1
Ubuntu Pro 16.04 LTS linux-kvm 4.4.0-1137.147 USN-7039-1
Ubuntu Pro 16.04 LTS linux-oracle 4.15.0-1135.146~16.04.1 USN-7028-1
Ubuntu Pro 14.04 LTS linux No fix yet —
Ubuntu Pro 14.04 LTS linux-aws 4.4.0-1136.142 USN-7039-1
Ubuntu Pro 14.04 LTS linux-azure 4.15.0-1181.196~14.04.1 USN-7028-2
Ubuntu Pro 14.04 LTS linux-lts-xenial 4.4.0-259.293~14.04.1 USN-7039-1
ReleasePackageFixed inAdvisory
SLES 12 SP5 kernel-azure +2 4.12.14-16.188.1 SUSE-SU-2024:1979-1
SLES 12 SP5 kernel-docs +4 4.12.14-122.219.1 SUSE-SU-2024:2184-1
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 12 SP5 kernel-azure +2 4.12.14-16.188.1 SUSE-SU-2024:1979-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 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_57 1-8.3.1 SUSE-SU-2024:2184-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2 kernel-livepatch-4.14.327-246.539 1.0-0.amzn2 ALAS2-2023-2328
Amazon Linux 2 perf +8 4.14.327-246.539.amzn2 ALAS2-2023-2328

Advisories 9

References