Description
In the Linux kernel, the following vulnerability has been resolved: keys: Pin request_key_auth payload in instantiate paths A: request_key() B: KEYCTL_INSTANTIATE_IOV ================ ========================= create auth key store rka in auth key wait for helper get auth key load rka from auth key copy user payload sleep on #PF helper completed detach and free rka destroy auth key wake up use rka->target_key **USE-AFTER-FREE** Give request_key_auth payloads a refcount. Take a payload reference while authkey->sem stabilizes the payload and revocation state. Hold that reference across the instantiate and reject paths. Drop the auth key owning reference from revoke and destroy. [jarkko: Replaced the first two paragraphs of text with an actual concurrency scenario.]
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
b5f545c880a2a47947ba2118b2509644ab7a2969 to < d8274181b0f28d450b42489723a5ba81042158d7affectedb5f545c880a2a47947ba2118b2509644ab7a2969 to < 4982bfabce6b33b3c9eddb4fb900fe5568b7cf91affectedb5f545c880a2a47947ba2118b2509644ab7a2969 to < 708709c65a1832a99b0eef8ae46e343ddaca3d06affectedb5f545c880a2a47947ba2118b2509644ab7a2969 to < 35ab4db86774d82389e4b9559e26ab7f68d8e395affectedb5f545c880a2a47947ba2118b2509644ab7a2969 to < f9b68632ac93cc742f2e411021c4dbfe452ea0c2affectedb5f545c880a2a47947ba2118b2509644ab7a2969 to < 7216ce8cb12fee44e309503955bb83806b106129affectedb5f545c880a2a47947ba2118b2509644ab7a2969 to < 83c0a1cb296d955d5f4d1f0bd8a769ba8ed8c29faffectedb5f545c880a2a47947ba2118b2509644ab7a2969 to < fd15b457a86939c38aa12116adabd8ff686c5e51affected
Linux Linux
Default version status: affected
2.6.16affected0 to < 2.6.16unaffected5.10.260 to ≤ 5.10.*unaffected5.15.211 to ≤ 5.15.*unaffected6.1.177 to ≤ 6.1.*unaffected6.6.144 to ≤ 6.6.*unaffected6.12.95 to ≤ 6.12.*unaffected6.18.38 to ≤ 6.18.*unaffected7.1.3 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/d8274181b0f28d450b42489723a5ba81042158d7 ↗
- https://git.kernel.org/stable/c/4982bfabce6b33b3c9eddb4fb900fe5568b7cf91 ↗
- https://git.kernel.org/stable/c/708709c65a1832a99b0eef8ae46e343ddaca3d06 ↗
- https://git.kernel.org/stable/c/35ab4db86774d82389e4b9559e26ab7f68d8e395 ↗
- https://git.kernel.org/stable/c/f9b68632ac93cc742f2e411021c4dbfe452ea0c2 ↗
- https://git.kernel.org/stable/c/7216ce8cb12fee44e309503955bb83806b106129 ↗
- https://git.kernel.org/stable/c/83c0a1cb296d955d5f4d1f0bd8a769ba8ed8c29f ↗
- https://git.kernel.org/stable/c/fd15b457a86939c38aa12116adabd8ff686c5e51 ↗