CVE-2026-64312 Overview
CVE-2026-64312 is a Linux kernel vulnerability in the pcrypt parallel crypto template. The flaw affects the fallback path in pcrypt_aead_encrypt() and pcrypt_aead_decrypt() when padata_do_parallel() returns -EBUSY. In this condition, pcrypt calls the child AEAD (Authenticated Encryption with Associated Data) request directly but fails to restore the original completion callback. An asynchronous completion later invokes pcrypt_aead_done() for a request never enrolled in padata, corrupting kernel state and triggering availability failures.
Critical Impact
Remote attackers can trigger denial of service against Linux systems using pcrypt-wrapped AEAD algorithms without authentication or user interaction.
Affected Products
- Linux kernel builds that enable the pcrypt crypto template (CONFIG_CRYPTO_PCRYPT)
- Kernel branches prior to the commits referenced in the stable kernel git repository
- Distributions shipping kernels that use padata-based parallel AEAD processing
Discovery Timeline
- 2026-07-25 - CVE-2026-64312 published to NVD
- 2026-07-27 - Last updated in NVD database
Technical Details for CVE-2026-64312
Vulnerability Analysis
The pcrypt template parallelizes AEAD operations by dispatching child requests through the padata framework. Before submission, pcrypt overrides the child request's completion callback with pcrypt_aead_done() so results can be aggregated after parallel execution. When padata cannot accept the work and returns -EBUSY, pcrypt falls back to executing the child AEAD directly on the current context.
The fallback path did not restore the original callback and callback data. If the child AEAD is asynchronous and completes later, its completion handler calls pcrypt_aead_done() for a request that was never enrolled in padata. This produces inconsistent state handling and can crash the kernel path servicing the request.
Root Cause
The root cause is a missing callback restoration step in the pcrypt fallback logic. pcrypt treats the fallback as if padata had accepted the request, so it leaves pcrypt_aead_done() installed on the child request. The upstream fix restores the original request callback and callback data before invoking the child AEAD directly, aligning the fallback with a direct AEAD request while leaving the parallel path unchanged.
Attack Vector
Exploitation requires that the target system process AEAD operations through a pcrypt-wrapped algorithm, typically over network protocols such as IPsec that trigger kernel crypto activity. An attacker who can generate sufficient concurrent AEAD requests to force padata_do_parallel() into -EBUSY can steer requests down the vulnerable fallback path. Repeated exposure results in availability loss for the affected host.
No verified public exploit code is available. Refer to the stable kernel commits 3920c5f, 4711ca0, and ed459fe for the patch series.
Detection Methods for CVE-2026-64312
Indicators of Compromise
- Kernel oops or panic traces referencing pcrypt_aead_done, padata, or AEAD completion paths
- Unexpected termination of IPsec, dm-crypt, or other kernel crypto consumers under load
- Repeated -EBUSY responses from padata_do_parallel() in kernel logs prior to a crash
Detection Strategies
- Audit running kernel versions across the fleet and compare against fixed stable releases published in kernel.org
- Monitor dmesg and journalctl -k output for stack traces containing pcrypt or padata frames
- Correlate host availability incidents with spikes in AEAD workload on network-facing services
Monitoring Recommendations
- Forward kernel logs to a centralized logging or SIEM platform to detect repeated crashes referencing crypto subsystems
- Track kernel package versions with configuration management tooling and alert on hosts that remain on unpatched builds
- Alert on unexpected reboot cadence for systems exposing IPsec or other kernel-terminated AEAD traffic
How to Mitigate CVE-2026-64312
Immediate Actions Required
- Inventory kernels that enable CONFIG_CRYPTO_PCRYPT and prioritize them for patching
- Apply the vendor kernel update that incorporates the upstream pcrypt fallback callback restoration fix
- Reboot updated hosts to activate the patched kernel image
Patch Information
The fix is available in the mainline and stable Linux kernel trees. Reference the following commits: 3920c5f, 4711ca0, 81ce16d, 82789a4, 83fa139, ae93c5b, c4bd2f4, and ed459fe. Consume the fix through your distribution's kernel security updates.
Workarounds
- Disable the pcrypt module where parallel AEAD processing is not required by blacklisting it in /etc/modprobe.d/
- Configure crypto consumers such as IPsec to select non-pcrypt AEAD algorithms until a patched kernel is deployed
- Restrict network exposure of services that terminate AEAD-encrypted traffic in the kernel until remediation is complete
# Blacklist the pcrypt module until a patched kernel is installed
echo "blacklist pcrypt" | sudo tee /etc/modprobe.d/disable-pcrypt.conf
sudo rmmod pcrypt 2>/dev/null || true
# Verify the module is not loaded
lsmod | grep pcrypt
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

