5.0/SPECS/91/linux: Backport CVE-2026-31431 (algif_aead Copy.Fail)#1648
5.0/SPECS/91/linux: Backport CVE-2026-31431 (algif_aead Copy.Fail)#1648dcasota wants to merge 1 commit intovmware:5.0from
Conversation
[ Upstream commit a664bf3d603d ]
This mostly reverts upstream commit 72548b093ee3 ("crypto: algif_aead -
copy AAD from src to dst") except for the copying of the associated
data. The Photon photon-subrelease 91 kernel ships 6.1.169-stable,
which precedes mainline's switch to memcpy_sglist() and the sgt
indirection in af_alg_async_req, so the upstream patch (a664bf3d603d)
does not apply directly.
Backport rewrites _aead_recvmsg to:
- Always allocate areq->tsgl via af_alg_count_tsgl(sk, processed)
and pull the entire processed range into it.
- Copy AAD from areq->tsgl into the RX SGL via
crypto_aead_copy_sgl(null_tfm, ...) (kept from 6.1.x stable in
lieu of memcpy_sglist()).
- Pass tsgl_src (== areq->tsgl) as the crypto source so the AEAD
operation runs out-of-place; the in-place sg_chain() of the tag
onto the destination SGL is removed.
- Drop the now-unused offset / dst_offset parameters from
af_alg_count_tsgl()/af_alg_pull_tsgl() and update all call sites
(crypto/algif_skcipher.c, crypto/algif_aead.c,
include/crypto/if_alg.h).
Validated by applying the patch to a pristine v6.1.169 stable tree
and by disassembling af_alg.ko / algif_skcipher.ko from a Photon 5.0
ISO produced from this commit: af_alg_count_tsgl is invoked with two
arguments (rdi/rsi only), af_alg_pull_tsgl with three (rdi/rsi/rdx).
Specs touched:
SPECS/91/linux/linux.spec Release 1 -> 2
SPECS/91/linux/linux-esx.spec Release 2 -> 3
SPECS/91/linux/linux-rt.spec Release 1 -> 2
Change-Id: I9f6777f3bd2ccf77a08a1de747ca13f749f2ed4f
CVE: CVE-2026-31431
Fixes: 72548b093ee3 ("crypto: algif_aead - copy AAD from src to dst")
Assisted-by: claude-opus-4-7 [via Claude Code]
✅ ISO + VM install verification — passedBeyond the build-end-to-end already noted in the test plan: the produced ISO has now been mounted in a fresh VM and the install completed successfully. Adding kernel-binary evidence below to close out the artifact-vs-PR chain. Artifacts
CVE-2026-31431 patch verification chain
Userspace AF_ALG smoketestRun on both
No kernel Test plan progress
🤖 Generated with Claude Code |
|
See #1650 (comment) |
Summary
Backport of upstream Linux commit
a664bf3d603d("crypto: algif_aead - Revert to operating out-of-place") to the 6.1.169 kernel shipped inSPECS/91/linux/(active whenphoton_subrelease ≤ 91).Fixes CVE-2026-31431 — the "Copy.Fail" in-place AEAD bug. The mainline patch does not apply directly because 6.1.x stable predates
memcpy_sglist()and the sgt indirection inaf_alg_async_req; the patch file in this PR is a 6.1.x-specific backport.What changed
SPECS/91/linux/CVE/0001-crypto-algif_aead-CVE-2026-31431-Revert-to-out-of-place.patchSPECS/91/linux/linux.specRelease 1 → 2SPECS/91/linux/linux-esx.specRelease 2 → 3SPECS/91/linux/linux-rt.specRelease 1 → 2Test plan
linux-6.1.169.tar.xz(patch -p1 --dry-run— 4 files patched, 0 fuzz, 0 rejects)cb23a87c2e, ISO size 3.97 GB)linux-esx-6.1.169-3.ph5kernel binary verified post-patch via disassembly:af_alg_count_tsgluses 2 args (rdi/rsi only, no rdx);af_alg_pull_tsgluses 3 args (no rcx);algif_skciphercallers do not stash a trailing0— matches the patched ABI exactly.We will update this PR with the latest test plan progress.
Compliance with kernel
Documentation/process/coding-assistants.rstAssisted-by: claude-opus-4-7 [via Claude Code]is in both the commit body and the patch trailer.Signed-off-by: Herbert Xuis preserved on the kernel patch.Reported-by: Taeyang Leeis preserved.Signed-off-by:from the assistant. Submitter (dcasota) will add their SoB before merge.Related
common/SPECS/linux/v6.12andcommon/SPECS/linux/v6.1(separate PRs againstcommon)🤖 Generated with Claude Code