CVE-2026-64312: crypto: pcrypt - restore callback for non-parallel fallback

Greg Kroah-Hartman <[email protected]> Sat, 25 Jul 2026 10:48:49 +0200
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026072509-CVE-2026-64312-2566@gregkh>
From: Greg Kroah-Hartman <[email protected]>

Description
===========

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

crypto: pcrypt - restore callback for non-parallel fallback

pcrypt installs pcrypt_aead_done() on the child AEAD request before
trying to submit it through padata.  If padata_do_parallel() returns
-EBUSY, pcrypt falls back to calling the child AEAD directly.

That fallback must not keep the padata completion callback.  Otherwise
an asynchronous completion runs pcrypt_aead_done() even though the
request was never enrolled in padata.

Restore the original request callback and callback data before calling
the child AEAD directly.  This keeps the fallback path aligned with a
direct AEAD request while leaving the parallel path unchanged.

The Linux kernel CVE team has assigned CVE-2026-64312 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 5.10.231 with commit a92ccd3618e42333ac6f150ecdac14dca298bc7a and fixed in 5.10.261 with commit 81ce16d938db9b88cdc231522c0358395ae8c6b5
	Issue introduced in 5.15.174 with commit 96001f52ae8c70e2c736d3e1e5dc53d5b521e5ca and fixed in 5.15.212 with commit 3920c5f6edc341729d20d0507e466c6d3b11f372
	Issue introduced in 6.1.120 with commit 92834692a539b5b7f409e467a14667d64713b732 and fixed in 6.1.178 with commit ae93c5b3e2a2968b56d772ca1d06615927b7cc36
	Issue introduced in 6.6.64 with commit 5edae7a9a35606017ee6e05911c290acee9fee5a and fixed in 6.6.145 with commit 82789a44415e3e31168229421b138278dfb16412
	Issue introduced in 6.12.2 with commit 7ddab756f2de5b7b43c122ebebdf37f400fb2b6f and fixed in 6.12.96 with commit 4711ca06bd169a2cbc9cc59a6de2ed512c41a880
	Issue introduced in 6.13 with commit 662f2f13e66d3883b9238b0b96b17886179e60e2 and fixed in 6.18.39 with commit c4bd2f4c35b0e15b6040c2f7e7e7986780c066cf
	Issue introduced in 6.13 with commit 662f2f13e66d3883b9238b0b96b17886179e60e2 and fixed in 7.1.4 with commit 83fa1397d5853de1e27dd52ec44b068ff358ca18
	Issue introduced in 6.13 with commit 662f2f13e66d3883b9238b0b96b17886179e60e2 and fixed in 7.2-rc1 with commit ed459fe319376e876de433d12b6c6772e612ca36
	Issue introduced in 4.19.325 with commit dd8bf8eb5beba1e7c3b11a9a5a58ccbf345a69e6
	Issue introduced in 5.4.287 with commit fca8aed12218f96b38e374ff264d78ea1fbd23cc
	Issue introduced in 6.11.11 with commit a8e0074ffb38c9a5964a221bb998034d016c93a2

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-64312
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	crypto/pcrypt.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/81ce16d938db9b88cdc231522c0358395ae8c6b5
	https://git.kernel.org/stable/c/3920c5f6edc341729d20d0507e466c6d3b11f372
	https://git.kernel.org/stable/c/ae93c5b3e2a2968b56d772ca1d06615927b7cc36
	https://git.kernel.org/stable/c/82789a44415e3e31168229421b138278dfb16412
	https://git.kernel.org/stable/c/4711ca06bd169a2cbc9cc59a6de2ed512c41a880
	https://git.kernel.org/stable/c/c4bd2f4c35b0e15b6040c2f7e7e7986780c066cf
	https://git.kernel.org/stable/c/83fa1397d5853de1e27dd52ec44b068ff358ca18
	https://git.kernel.org/stable/c/ed459fe319376e876de433d12b6c6772e612ca36