Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: crypto: comp - Use same definition of context alloc and free ops In commit 42d9f6c77479 ("crypto: acomp - Move scomp stream allocation code into acomp"), the crypto_acomp_streams struct was made to rely on having the alloc_ctx and free_ctx operations defined in the same order as the scomp_alg struct. But in that same commit, the alloc_ctx and free_ctx members of scomp_alg may be randomized by structure layout randomization, since they are contained in a pure ops structure (containing only function pointers). If the pointers within scomp_alg are randomized, but those in crypto_acomp_streams are not, then the order may no longer match. This fixes the problem by removing the union from scomp_alg so that both crypto_acomp_streams and scomp_alg will share the same definition of alloc_ctx and free_ctx, ensuring they will always have the same layout.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 42d9f6c774790d290c175e8775ce9f1366438098 before 779d3b6f2d32c5f1da6163e959abe1e1ffe2945b; affected 42d9f6c774790d290c175e8775ce9f1366438098 before f75f66683ded09f7135aef2e763c245a07c8271a |
| Linux / Linux | affected 6.16; unaffected 0 before 6.16; unaffected 6.17.3 through 6.17.*; unaffected 6.18 through * |
CWE
No CWE identifiers supplied.