CVE-2026-64026: rxrpc: Fix DATA decrypt vs splice() by copying data to buffer in recvmsg

Published Jul 19, 2026
·
Updated

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

rxrpc: Fix DATA decrypt vs splice() by copying data to buffer in recvmsg

This improves the fix for CVE-2026-43500.

Fix the pagecache corruption from in-place decryption of a DATA packet transmitted locally by splice() by getting rid of the packet sharing in the I/O thread and unconditionally extracting the packet content into a bounce buffer in which the buffer is decrypted. recvmsg() (or the kernel equivalent) then copies the data from the bounce buffer to the destination buffer. The skbuff then remains unmodified.

This has an additional advantage in that the packet is then arranged in the buffer with the correct alignment required for the crypto algorithms to process directly. The performance of the crypto does seem to be a little faster and, surprisingly, the unencrypted performance doesn't seem to change much - possibly due to removing complexity from the I/O thread.

Yet another advantage is that the I/O thread doesn't have to copy packets which would slow down packet distribution, ACK generation, etc..

The buffer belongs to the call and is allocated initially at 2K, sufficiently large to hold a whole jumbo subpacket, but the buffer will be increased in size if needed. However, to take this work, MSGPEEK may cause a later packet to be decrypted into the buffer, in which case the earlier one will need re-decrypting for a subsequent recvmsg().

Note that rxpktoffset may legitimately see 0 as a valid offset now, so switch to using USHRTMAX to indicate an invalid offset.

Note also that I would generally prefer to replace the buffers of the current skbuff with a new kmalloc'd buffer of the right size, ditching the old data and frags as this makes the handling of MSGPEEK easier and removes the re-decryption issue, but this looks like quite a complicated thing to achieve. skbmorph() looks half way to what I want, but I don't want to have to allocate a new skbuff.

Affected Software

12 affected components
Linux Linux kernel
Linux Linux kernel>=5.3.1<6.6.143
Linux Linux kernel>=6.7<6.12.93
Linux Linux kernel>=6.13<6.18.35
Linux Linux kernel>=6.19<7.0.11
Linux Linux kernel=5.3
Linux Linux kernel=5.3-rc7
Linux Linux kernel=5.3-rc8
Linux Linux kernel=7.1-rc1
Linux Linux kernel=7.1-rc2
Linux Linux kernel=7.1-rc3
Linux Linux kernel=7.1-rc4

Event History

Jul 19, 2026
CVE Published
via MITRE·03:39 PM
Data Sourced
via MITRE·03:39 PM
DescriptionSeverity
Data Sourced
via NVD·04:17 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-64026?

CVE-2026-64026 has a risk rating of 44, indicating a moderate severity level.

2

How do I fix CVE-2026-64026?

To fix CVE-2026-64026, you should update your Linux kernel to the patched version that resolves this vulnerability.

3

What type of vulnerability is CVE-2026-64026?

CVE-2026-64026 is a data decryption vulnerability that affects the Linux kernel's handling of DATA packets.

4

Does CVE-2026-64026 affect all versions of the Linux kernel?

CVE-2026-64026 primarily affects versions of the Linux kernel prior to the fix being applied.

5

What are the potential impacts of CVE-2026-64026?

The potential impacts of CVE-2026-64026 include pagecache corruption due to improper handling of DATA packets during decryption.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203