Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 4447bb33f09444920a8f1d89e1540137429351b6 before 958ae9f261319e1cdc44879886bcda2263258cca; affected 4447bb33f09444920a8f1d89e1540137429351b6 before fb7f3e74789a3c89647f4eb768f6dfaf4a751e72; affected 4447bb33f09444920a8f1d89e1540137429351b6 before ba0c110c205855b3f1e3130d8c0fdb484d704c8c; affected 4447bb33f09444920a8f1d89e1540137429351b6 before c8837bbe792257af547fd1c0252553ce13148795; affected 4447bb33f09444920a8f1d89e1540137429351b6 before 71d42da01740ec6557837bebec0bc48cfc3b4c39; affected 4447bb33f09444920a8f1d89e1540137429351b6 before cf67361e78dca488d6e4df8396a53e6745a3a80e; affected 4447bb33f09444920a8f1d89e1540137429351b6 before 37426395cb90ef217beec8407a14bd82153793d3; affected 4447bb33f09444920a8f1d89e1540137429351b6 before be19d20e53a239572bb2a28efcc1cd2b069b1ef9; affected 4447bb33f09444920a8f1d89e1540137429351b6 before c12cbf56320fb633484ee0ca1fb7d68d6b64b213 |
| Linux / Linux | affected 2.6.33; unaffected 0 before 2.6.33; unaffected 5.10.269 through 5.10.*; unaffected 5.15.220 through 5.15.*; unaffected 6.1.187 through 6.1.*; unaffected 6.6.156 through 6.6.*; unaffected 6.12.108 through 6.12.*; unaffected 6.18.49 through 6.18.*; unaffected 7.1.13 through 7.1.*; unaffected 7.2.3 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/958ae9f261319e1cdc44879886bcda2263258cca
- https://git.kernel.org/stable/c/fb7f3e74789a3c89647f4eb768f6dfaf4a751e72
- https://git.kernel.org/stable/c/ba0c110c205855b3f1e3130d8c0fdb484d704c8c
- https://git.kernel.org/stable/c/c8837bbe792257af547fd1c0252553ce13148795
- https://git.kernel.org/stable/c/71d42da01740ec6557837bebec0bc48cfc3b4c39
- https://git.kernel.org/stable/c/cf67361e78dca488d6e4df8396a53e6745a3a80e
- https://git.kernel.org/stable/c/37426395cb90ef217beec8407a14bd82153793d3
- https://git.kernel.org/stable/c/be19d20e53a239572bb2a28efcc1cd2b069b1ef9
- https://git.kernel.org/stable/c/c12cbf56320fb633484ee0ca1fb7d68d6b64b213