In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix DATA decrypt vs splice() by copying data to buffer in recvmsg This… (CVE-2026-64026)
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 sk_buff 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, MSG_PEEK 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 rx_pkt_offset may legitimately see 0 as a valid offset now, so switch to using USHRT_MAX to indicate an invalid offset. Note also that I would generally prefer to replace the buffers of the current sk_buff with a new kmalloc'd buffer of the right size, ditching the old data and frags as this makes the handling of MSG_PEEK easier and removes the re-decryption issue, but this looks like quite a complicated thing to achieve. skb_morph() looks half way to what I want, but I don't want to have to allocate a new sk_buff.
AI Analysis
Technical Summary
The Linux kernel's rxrpc implementation had a vulnerability where in-place decryption of DATA packets transmitted locally by splice() caused pagecache corruption. The fix eliminates packet sharing in the I/O thread by extracting packet content into a bounce buffer where decryption occurs. The recvmsg() function then copies decrypted data from this buffer to the destination, leaving the original sk_buff unmodified. This approach also improves cryptographic processing alignment and performance. The fix addresses issues from a prior CVE (2026-43500) and mitigates re-decryption complications related to MSG_PEEK. The patch changes the handling of rx_pkt_offset to use USHRT_MAX as an invalid offset indicator.
Potential Impact
The vulnerability could cause pagecache corruption due to improper in-place decryption of DATA packets in the rxrpc protocol, potentially affecting kernel stability or data integrity during local packet transmission via splice(). No known exploits are reported in the wild. The fix prevents corruption by changing how packet data is decrypted and handled in memory.
Mitigation Recommendations
A fix for this vulnerability has been implemented in the Linux kernel. Users should apply the official kernel updates that include this patch to resolve the issue. Since this is a kernel-level fix, upgrading to a kernel version containing this patch is the recommended remediation. Patch status is not explicitly stated in the provided data; therefore, check the vendor or Linux kernel advisory for the exact fixed version and update accordingly.
In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix DATA decrypt vs splice() by copying data to buffer in recvmsg This… (CVE-2026-64026)
Description
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 sk_buff 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, MSG_PEEK 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 rx_pkt_offset may legitimately see 0 as a valid offset now, so switch to using USHRT_MAX to indicate an invalid offset. Note also that I would generally prefer to replace the buffers of the current sk_buff with a new kmalloc'd buffer of the right size, ditching the old data and frags as this makes the handling of MSG_PEEK easier and removes the re-decryption issue, but this looks like quite a complicated thing to achieve. skb_morph() looks half way to what I want, but I don't want to have to allocate a new sk_buff.
CVSS v3.1
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Linux kernel's rxrpc implementation had a vulnerability where in-place decryption of DATA packets transmitted locally by splice() caused pagecache corruption. The fix eliminates packet sharing in the I/O thread by extracting packet content into a bounce buffer where decryption occurs. The recvmsg() function then copies decrypted data from this buffer to the destination, leaving the original sk_buff unmodified. This approach also improves cryptographic processing alignment and performance. The fix addresses issues from a prior CVE (2026-43500) and mitigates re-decryption complications related to MSG_PEEK. The patch changes the handling of rx_pkt_offset to use USHRT_MAX as an invalid offset indicator.
Potential Impact
The vulnerability could cause pagecache corruption due to improper in-place decryption of DATA packets in the rxrpc protocol, potentially affecting kernel stability or data integrity during local packet transmission via splice(). No known exploits are reported in the wild. The fix prevents corruption by changing how packet data is decrypted and handled in memory.
Mitigation Recommendations
A fix for this vulnerability has been implemented in the Linux kernel. Users should apply the official kernel updates that include this patch to resolve the issue. Since this is a kernel-level fix, upgrading to a kernel version containing this patch is the recommended remediation. Patch status is not explicitly stated in the provided data; therefore, check the vendor or Linux kernel advisory for the exact fixed version and update accordingly.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-97h7-gm2v-v84m
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-64026"]
- Ecosystems
- []
- Database Specific Severity
- null
- Cvss Version
- null
Threat ID: 6a5d27a92a4a8d598912cbce
Added to database: 07/19/2026, 19:38:17 UTC
Last enriched: 07/19/2026, 19:55:45 UTC
Last updated: 07/20/2026, 19:41:22 UTC
Views: 12
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.