{"id":"CVE-2022-50731","summary":"crypto: akcipher - default implementation for setting a private key","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: akcipher - default implementation for setting a private key\n\nChanges from v1:\n  * removed the default implementation from set_pub_key: it is assumed that\n    an implementation must always have this callback defined as there are\n    no use case for an algorithm, which doesn't need a public key\n\nMany akcipher implementations (like ECDSA) support only signature\nverifications, so they don't have all callbacks defined.\n\nCommit 78a0324f4a53 (\"crypto: akcipher - default implementations for\nrequest callbacks\") introduced default callbacks for sign/verify\noperations, which just return an error code.\n\nHowever, these are not enough, because before calling sign the caller would\nlikely call set_priv_key first on the instantiated transform (as the\nin-kernel testmgr does). This function does not have a default stub, so the\nkernel crashes, when trying to set a private key on an akcipher, which\ndoesn't support signature generation.\n\nI've noticed this, when trying to add a KAT vector for ECDSA signature to\nthe testmgr.\n\nWith this patch the testmgr returns an error in dmesg (as it should)\ninstead of crashing the kernel NULL ptr dereference.","modified":"2026-03-20T12:22:37.563459Z","published":"2025-12-24T12:22:51.122Z","related":["SUSE-SU-2026:0263-1","SUSE-SU-2026:0317-1","SUSE-SU-2026:0350-1","SUSE-SU-2026:0369-1","SUSE-SU-2026:0411-1","SUSE-SU-2026:0617-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50731.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/779a9930f3e152c82699feb389a0e6d6644e747e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/85bc736a18b872f54912e8bb70682d11770aece0"},{"type":"WEB","url":"https://git.kernel.org/stable/c/95c4e20adc3ea00d1594a2a05d9b187ed12ffa8e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a1354bdd191d533211b7cb723aa76a66f516f197"},{"type":"WEB","url":"https://git.kernel.org/stable/c/bc155c6c188c2f0c5749993b1405673d25a80389"},{"type":"WEB","url":"https://git.kernel.org/stable/c/f9058178597059d6307efe96a7916600f8ede08c"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50731.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-50731"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"78a0324f4a5328088fea9426cfe1d1851276c475"},{"fixed":"95c4e20adc3ea00d1594a2a05d9b187ed12ffa8e"},{"fixed":"a1354bdd191d533211b7cb723aa76a66f516f197"},{"fixed":"779a9930f3e152c82699feb389a0e6d6644e747e"},{"fixed":"85bc736a18b872f54912e8bb70682d11770aece0"},{"fixed":"f9058178597059d6307efe96a7916600f8ede08c"},{"fixed":"bc155c6c188c2f0c5749993b1405673d25a80389"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-50731.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.2.0"},{"fixed":"5.4.220"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.5.0"},{"fixed":"5.10.150"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.75"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"5.19.17"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.20.0"},{"fixed":"6.0.3"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-50731.json"}}],"schema_version":"1.7.5"}