libkmod: do not crash on unknown signature algorithm
authorMikhail Novosyolov <m.novosyolov@rosalinux.ru>
Sun, 25 Sep 2022 14:46:08 +0000 (17:46 +0300)
committerLucas De Marchi <lucas.de.marchi@gmail.com>
Mon, 3 Oct 2022 13:59:41 +0000 (06:59 -0700)
commitd5950b0b5e66a5ec1c21b638dec3974056aaabeb
treee161c23be7e71410dd23f33888dfe7bf4cde35d2
parentb4d281f962be74adfbae9d7bead6a7352033342c
libkmod: do not crash on unknown signature algorithm

Example kernel module:
https://file-store.rosalinux.ru/download/7281f97e0c04c0f818ad3f936706f4a407e8dc7e
(/lib/modules/5.15.67-generic-1rosa2021.1-x86_64/kernel/drivers/usb/host/xhci-pci.ko.zst)
It is signed with Streebog 512.

libkmod v30 crashed in libkmod-module.c:2413 in this code:

n = kmod_module_info_append(list,
"sig_hashalgo", strlen("sig_hashalgo"),
sig_info.hash_algo, strlen(sig_info.hash_algo));

because strlen() got null.
libkmod/libkmod-signature.c