Loading
KEYS: prevent NULL pointer dereference in find_asymmetric_key()
stable inclusion from stable-v6.6.54 commit a3765b497a4f5224cb2f7a6a2d3357d3066214ee category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAYR0Z CVE: CVE-2024-47743 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a3765b497a4f5224cb2f7a6a2d3357d3066214ee -------------------------------- commit 70fd1966c93bf3bfe3fe6d753eb3d83a76597eef upstream. In find_asymmetric_key(), if all NULLs are passed in the id_{0,1,2} arguments, the kernel will first emit WARN but then have an oops because id_2 gets dereferenced anyway. Add the missing id_2 check and move WARN_ON() to the final else branch to avoid duplicate NULL checks. Found by Linux Verification Center (linuxtesting.org) with Svace static analysis tool. Cc: stable@vger.kernel.org # v5.17+ Fixes: 7d30198e ("keys: X.509 public key issuer lookup without AKID") Suggested-by:Sergey Shtylyov <s.shtylyov@omp.ru> Signed-off-by:
Roman Smirnov <r.smirnov@omp.ru> Reviewed-by:
Sergey Shtylyov <s.shtylyov@omp.ru> Reviewed-by:
Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by:
Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
Yi Yang <yiyang13@huawei.com>