Skip to content
OpenAdvisories
Critical · 9.8 Known exploited Public exploit CVE-2025-39682 EUVD-2025-31542GHSA-v2pf-75pf-9c5h

tls: fix handling of zero-length records on the rx_list

Published Sep 5, 2025 · Updated Oct 7, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: kernel 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.8 Package: linux-aws-6.14 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-fips Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.11 Package: linux-azure-6.14 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 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-azure-nvidia Package: linux-azure-nvidia-6.14 Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.11 Package: linux-gcp-6.14 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 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.19 Package: linux-hwe-5.8 Package: linux-hwe-6.11 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-6.8 Package: linux-intel Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-lowlatency Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.11 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-nvidia Package: linux-nvidia-6.11 Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra 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.11 Package: linux-oem-6.14 Package: linux-oem-6.5 Package: linux-oem-6.8 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.8 Package: linux-oracle-6.14 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.14 Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.14 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-xilinx Platform: Linux Ecosystem: Azure Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

tls: fix handling of zero-length records on the rx_list

Each recvmsg() call must process either
- only contiguous DATA records (any number of them)
- one non-DATA record

If the next record has different type than what has already been
processed we break out of the main processing loop. If the record
has already been decrypted (which may be the case for TLS 1.3 where
we don't know type until decryption) we queue the pending record
to the rx_list. Next recvmsg() will pick it up from there.

Queuing the skb to rx_list after zero-copy decrypt is not possible,
since in that case we decrypted directly to the user space buffer,
and we don't have an skb to queue (darg.skb points to the ciphertext
skb for access to metadata like length).

Only data records are allowed zero-copy, and we break the processing
loop after each non-data record. So we should never zero-copy and
then find out that the record type has changed. The corner case
we missed is when the initial record comes from rx_list, and it's
zero length.

Affected products

VendorProductAffectedFixed
Linux Linux 6.0 6.1.149

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.16.5-1 —
Debian 13 linux 6.12.48-1 DSA-6008-1
Debian 12 linux 6.1.153-1 DSA-6009-1
Debian 11 linux-6.1 6.1.153-1~deb11u1 DLA-4328-1
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 24.04 LTS linux-bluefield 6.8.0-1012.16 —
Ubuntu 25.10 linux-azure-fde No fix yet —
Ubuntu 24.04 LTS linux 6.8.0-86.87 USN-7835-1
Ubuntu 24.04 LTS linux-aws 6.8.0-1041.43 USN-7835-1
Ubuntu 24.04 LTS linux-aws-6.14 +1 6.14.0-1015.15~24.04.1 USN-7833-3, USN-7833-1
Ubuntu 24.04 LTS linux-azure 6.8.0-1041.47 USN-7835-1
Ubuntu 24.04 LTS linux-azure-6.14 6.14.0-1014.14~24.04.1 USN-7834-1
Ubuntu 24.04 LTS linux-azure-nvidia 6.8.0-1029.32 USN-7940-2
Ubuntu 24.04 LTS linux-azure-nvidia-6.14 6.14.0-1007.7 USN-7834-1
Ubuntu 24.04 LTS linux-gcp 6.8.0-1042.45 USN-7835-1
Ubuntu 24.04 LTS linux-gcp-6.14 6.14.0-1018.19~24.04.1 USN-7833-4
Ubuntu 24.04 LTS linux-gke 6.8.0-1038.43 USN-7835-3
Ubuntu 24.04 LTS linux-gkeop 6.8.0-1025.28 USN-7835-1
Ubuntu 24.04 LTS linux-hwe-6.14 6.14.0-34.34~24.04.1 USN-7856-1
Ubuntu 24.04 LTS linux-ibm 6.8.0-1039.39 USN-7835-1
Ubuntu 24.04 LTS linux-intel +10 No fix yet —
Ubuntu 24.04 LTS linux-lowlatency 6.8.0-86.87.1 USN-7835-1
Ubuntu 24.04 LTS linux-nvidia 6.8.0-1041.44 USN-7835-3
Ubuntu 24.04 LTS linux-nvidia-lowlatency 6.8.0-1041.44.1 USN-7835-3
Ubuntu 24.04 LTS linux-nvidia-tegra 6.8.0-1012.12 —
Ubuntu 24.04 LTS linux-oem-6.14 6.14.0-1014.14 USN-7833-1
Ubuntu 24.04 LTS linux-oracle 6.8.0-1038.39 USN-7835-1
Ubuntu 24.04 LTS linux-raspi 6.8.0-1041.45 USN-7887-2
Ubuntu 24.04 LTS linux-riscv-6.14 6.14.0-34.34.1~24.04.1 —
Ubuntu 24.04 LTS linux-xilinx 6.8.0-1018.19 —
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1041.43~22.04.1 USN-7835-6
Ubuntu 22.04 LTS linux-azure-6.8 6.8.0-1041.47~22.04.1 USN-7835-1
Ubuntu 22.04 LTS linux-gcp-6.8 6.8.0-1042.45~22.04.1 USN-7835-3
Ubuntu 22.04 LTS linux-hwe-6.8 +1 6.8.0-86.87~22.04.1 USN-7835-4
Ubuntu 22.04 LTS linux-ibm-6.8 6.8.0-1039.39~22.04.1 USN-7835-1
Ubuntu 22.04 LTS linux-lowlatency-hwe-6.8 6.8.0-86.87.1~22.04.1 USN-7835-1
Ubuntu 22.04 LTS linux-nvidia-6.8 6.8.0-1041.44~22.04.2 USN-7835-3
Ubuntu 22.04 LTS linux-oracle-6.8 6.8.0-1038.39~22.04.1 USN-7835-5
Ubuntu 22.04 LTS linux-riscv +32 No fix yet —
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-raspi-realtime 6.8.0-2032.33 USN-7887-1
Ubuntu Pro Realtime 24.04 LTS linux-realtime 6.8.1-1036.37 USN-7835-2
Ubuntu Pro Realtime 24.04 LTS linux-realtime-6.14 6.14.0-1014.14~24.04.1 USN-7833-2
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 6.8.1-1036.37~22.04.1 USN-7835-2
Ubuntu Pro FIPS-updates 24.04 LTS linux-aws-fips 6.8.0-1041.43+fips1 —
Ubuntu Pro FIPS-updates 24.04 LTS linux-azure-fips 6.8.0-1044.50+fips1 USN-7940-1
Ubuntu Pro FIPS-updates 24.04 LTS linux-fips 6.8.0-86.87+fips1 —
Ubuntu Pro FIPS-updates 24.04 LTS linux-gcp-fips 6.8.0-1042.45+fips1 —
ReleasePackageFixed inAdvisory
RHEL 10 rv +77 6.12.0-55.37.1.el10_0 RHSA-2025:16904
RHEL 9 rv +77 5.14.0-570.49.1.el9_6 RHSA-2025:16880
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 9.4 EUS bpftool 7.3.0-427.96.1.el9_4 RHSA-2025:19104
RHEL 9.4 EUS rv +64 5.14.0-427.96.1.el9_4 RHSA-2025:19104
RHEL 9.2 E4S bpftool 7.0.0-284.144.1.el9_2 RHSA-2025:19224
RHEL 9.2 E4S kernel-rt +14 5.14.0-284.144.1.rt14.429.el9_2 RHSA-2025:19223
RHEL 9.2 E4S perf +47 5.14.0-284.144.1.el9_2 RHSA-2025:19224

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 10 kernel-doc +1 6.12.0-55.37.1.el10_0 ALSA-2025:16904
AlmaLinux 9 rv +75 5.14.0-570.49.1.el9_6 ALSA-2025:16880

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 10 kernel 6.12.0-55.37.1.el10_0 RLSA-2025:16904
Rocky Linux 9 kernel 5.14.0-570.49.1.el9_6 RLSA-2025:16880
ReleasePackageFixed inAdvisory
SLES 15 SP7 kernel-64kb +6 6.4.0-150700.53.19.1 SUSE-SU-2025:03601-1
SLES 15 SP7 kernel-azure +1 6.4.0-150700.20.15.2 SUSE-SU-2025:03633-1
SLES 15 SP7 kernel-default-base 6.4.0-150700.53.19.1.150700.17.13.1 SUSE-SU-2025:03601-1
SLES 15 SP7 kernel-syms-azure 6.4.0-150700.20.15.1 SUSE-SU-2025:03633-1
SLES 15 SP6 kernel-64kb +6 6.4.0-150600.23.73.1 SUSE-SU-2025:03600-1
SLES 15 SP6 kernel-azure +2 6.4.0-150600.8.52.1 SUSE-SU-2025:03634-1
SLES 15 SP6 kernel-coco +3 6.4.0-15061.32.coco15sp6.1 SUSE-SU-2025:03602-1
SLES 15 SP6 kernel-default-base 6.4.0-150600.23.73.1.150600.12.32.1 SUSE-SU-2025:03600-1
Show 9 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 kernel-64kb +7 6.12.0-160000.6.1 SUSE-SU-2025:21139-1
SLES for SAP 16.0 kernel-default-base 6.12.0-160000.6.1.160000.2.4 SUSE-SU-2025:21139-1
SLES for SAP 16.0 kernel-livepatch-SLE16_Update_0 5-160000.4.3 SUSE-SU-2026:20149-1
SLES 16.0 kernel-64kb +7 6.12.0-160000.6.1 SUSE-SU-2025:21179-1, SUSE-SU-2025:21139-1
SLES 16.0 kernel-default-base 6.12.0-160000.6.1.160000.2.4 SUSE-SU-2025:21139-1
SLES 16.0 kernel-livepatch-SLE16_Update_0 5-160000.4.3 SUSE-SU-2026:20149-1
SLE Micro 6.2 kernel-default-base 6.12.0-160000.6.1.160000.2.4 SUSE-SU-2025:21074-1
SLE Micro 6.2 kernel-livepatch-SLE16-RT_Update_0 4-160000.3.4 SUSE-SU-2026:20164-1
SLE Micro 6.2 kernel-livepatch-SLE16_Update_0 5-160000.4.3 SUSE-SU-2026:20169-1
SLE Micro 6.2 kernel-rt +5 6.12.0-160000.6.1 SUSE-SU-2026:20560-1, SUSE-SU-2025:21074-1
SLE Micro 6.1 kernel-default-base 6.4.0-35.1.21.12 SUSE-SU-2025:20861-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0-RT_Update_10 9-1.1 SUSE-SU-2026:20397-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0-RT_Update_4 14-1.1 SUSE-SU-2026:20400-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0-RT_Update_5 13-1.1 SUSE-SU-2026:20392-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0-RT_Update_7 11-1.3 SUSE-SU-2026:20394-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0-RT_Update_9 9-1.2 SUSE-SU-2026:20396-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0_Update_10 +1 5-1.1 SUSE-SU-2026:20398-1, SUSE-SU-2026:20381-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0_Update_11 +1 4-1.1 SUSE-SU-2026:20399-1, SUSE-SU-2026:20382-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0_Update_4 15-1.2 SUSE-SU-2026:20376-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0_Update_5 13-1.2 SUSE-SU-2026:20377-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0_Update_6 +1 11-3.1 SUSE-SU-2026:20393-1, SUSE-SU-2026:20385-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0_Update_7 +3 10-1.2 SUSE-SU-2026:20395-1, SUSE-SU-2026:20380-1, SUSE-SU-2026:20379-1
SLE Micro 6.1 kernel-rt +1 6.4.0-37.1 SUSE-SU-2025:20898-1
SLE Micro 6.1 kernel-source +2 6.4.0-35.1 SUSE-SU-2025:20861-1
SLE Micro 6.0 kernel-default-base 6.4.0-35.1.21.12 SUSE-SU-2025:20851-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0-RT_Update_10 9-1.1 SUSE-SU-2026:20253-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0-RT_Update_4 14-1.1 SUSE-SU-2026:20265-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0-RT_Update_5 13-1.1 SUSE-SU-2026:20248-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0-RT_Update_7 11-1.3 SUSE-SU-2026:20250-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0-RT_Update_9 9-1.2 SUSE-SU-2026:20252-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0_Update_10 +1 5-1.1 SUSE-SU-2026:20260-1, SUSE-SU-2026:20254-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0_Update_11 +1 4-1.1 SUSE-SU-2026:20264-1, SUSE-SU-2026:20261-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0_Update_4 15-1.2 SUSE-SU-2026:20255-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0_Update_5 13-1.2 SUSE-SU-2026:20256-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0_Update_6 +1 11-3.1 SUSE-SU-2026:20266-1, SUSE-SU-2026:20249-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0_Update_7 +3 10-1.2 SUSE-SU-2026:20259-1, SUSE-SU-2026:20258-1, SUSE-SU-2026:20257-1
SLE Micro 6.0 kernel-rt +1 6.4.0-37.1 SUSE-SU-2025:20870-1
SLE Micro 6.0 kernel-source +2 6.4.0-35.1 SUSE-SU-2025:20851-1
SLE Live Patching 15 SP7 kernel-default 6.4.0-150700.53.19.1 SUSE-SU-2025:03601-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7-RT_Update_0 9-150700.3.1 SUSE-SU-2026:0148-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7-RT_Update_5 1-150700.1.3.1 SUSE-SU-2025:3725-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7_Update_0 9-150700.3.24.1 SUSE-SU-2026:0283-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7_Update_1 +2 9-150700.2.1 SUSE-SU-2026:0284-1, SUSE-SU-2026:0171-1, SUSE-SU-2026:0144-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7_Update_3 +3 5-150700.2.1 SUSE-SU-2026:0209-1, SUSE-SU-2026:0202-1, SUSE-SU-2026:0146-1
SLE Live Patching 15 SP7 kernel-livepatch-SLE15-SP7_Update_5 1-150700.15.3.1 SUSE-SU-2025:03601-1
SLE Live Patching 15 SP6 kernel-default 6.4.0-150600.23.73.1 SUSE-SU-2025:03600-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_16 1-150600.1.3.1 SUSE-SU-2025:3751-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_10 11-150600.2.1 SUSE-SU-2026:0274-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_13 9-150600.2.1 SUSE-SU-2026:0283-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_14 +1 5-150600.2.1 SUSE-SU-2026:0203-1, SUSE-SU-2026:0202-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_16 1-150600.13.3.1 SUSE-SU-2025:03600-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_6 +1 17-150600.2.1 SUSE-SU-2026:0270-1, SUSE-SU-2026:0269-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_8 12-150600.2.1 SUSE-SU-2026:0262-1
SUSE Real Time Module 15 SP7 kernel-rt +2 6.4.0-150700.7.19.1 SUSE-SU-2025:3725-1
SUSE Real Time Module 15 SP6 kernel-rt +3 6.4.0-150600.10.55.1 SUSE-SU-2025:3751-1
ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 kernel-default-base 6.12.0-160000.6.1.160000.2.4 openSUSE-SU-2025:20081-1
openSUSE Leap 16.0 kernel-rt +10 6.12.0-160000.6.1 openSUSE-SU-2025:20081-1
openSUSE Leap 15.6 dtb-aarch64 +10 6.4.0-150600.23.73.1 SUSE-SU-2025:03600-1
openSUSE Leap 15.6 kernel-azure +2 6.4.0-150600.8.52.1 SUSE-SU-2025:03634-1
openSUSE Leap 15.6 kernel-default-base 6.4.0-150600.23.73.1.150600.12.32.1 SUSE-SU-2025:03600-1
openSUSE Leap 15.6 kernel-rt +3 6.4.0-150600.10.55.1 SUSE-SU-2025:3751-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 kernel-livepatch-6.12.46-66.121 +1 1:1.0-0.amzn2023 ALAS2023-2025-1208, ALAS2023-2025-1186
Amazon Linux 2023 perf +14 1:6.1.150-174.273.amzn2023 ALAS2023-2025-1186
Amazon Linux 2023 perf6.12 +14 1:6.12.46-66.121.amzn2023 ALAS2023-2025-1208

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 kernel 6.6.104.2-1 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 10 rv +28 6.12.0-55.37.1.0.1.el10_0 ELSA-2025-16904
Oracle Linux 9 kernel-uek +34 6.12.0-103.40.4.3.el10uek ELSA-2025-20662, ELSA-2025-20608
Oracle Linux 9 rv +28 5.14.0-570.49.1.0.1.el9_6 ELSA-2025-16880

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 2 repositories

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Advisories 50

References