Skip to main content
← All vulnerabilities
CVE-2026-80843

xfrm: fix xfrm_state_construct() auth-trunc leak

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.269, 5.15.220, 6.1.187, 6.6.156, 6.12.108, and 3 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: xfrm: fix xfrm_state_construct() auth-trunc leak attach_auth_trunc() can allocate x->aalg while leaving x->props.aalgo at zero when the selected auth algorithm has no sadb_alg_id. One real case is cmac(aes). xfrm_state_construct() then treats !x->props.aalgo as "no auth algorithm attached yet" and calls attach_auth(). That overwrites x->aalg and loses the first allocation. Any later failure or teardown only frees the replacement pointer. Check whether x->aalg is already attached instead of inferring that state from x->props.aalgo.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 4447bb33f09444920a8f1d89e1540137429351b6 · fixed in 958ae9f261319e1cdc44879886bcda2263258cca; From 4447bb33f09444920a8f1d89e1540137429351b6 · fixed in fb7f3e74789a3c89647f4eb768f6dfaf4a751e72; From 4447bb33f09444920a8f1d89e1540137429351b6 · fixed in ba0c110c205855b3f1e3130d8c0fdb484d704c8c; From 4447bb33f09444920a8f1d89e1540137429351b6 · fixed in c8837bbe792257af547fd1c0252553ce13148795; From 4447bb33f09444920a8f1d89e1540137429351b6 · fixed in 71d42da01740ec6557837bebec0bc48cfc3b4c39; From 4447bb33f09444920a8f1d89e1540137429351b6 · fixed in cf67361e78dca488d6e4df8396a53e6745a3a80e; From 4447bb33f09444920a8f1d89e1540137429351b6 · fixed in 37426395cb90ef217beec8407a14bd82153793d3; From 4447bb33f09444920a8f1d89e1540137429351b6 · fixed in be19d20e53a239572bb2a28efcc1cd2b069b1ef9; From 4447bb33f09444920a8f1d89e1540137429351b6 · fixed in c12cbf56320fb633484ee0ca1fb7d68d6b64b213

  • Linux Linux

    2.6.33

  • KernelLinux

    From 2.6.33 · fixed in 5.10.269; From 5.11.0 · fixed in 5.15.220; From 5.16.0 · fixed in 6.1.187; From 6.2.0 · fixed in 6.6.156; From 6.7.0 · fixed in 6.12.108; From 6.13.0 · fixed in 6.18.49; From 6.19.0 · fixed in 7.1.13; From 7.2.0 · fixed in 7.2.3

References 9

git.kernel.org