In the Linux kernel, the following vulnerability has been resolved:
nvmet-auth: assign dhkey to NULL after kfreesensitive
ctrl->dhkey might be used across multiple calls to nvmetsetupdhgroup() for the same controller. So it's better to nullify it after release on error path in order to avoid double free later in nvmetdestroy_auth().
Found by Linux Verification Center (linuxtesting.org) with Svace.
[ { "signature_type": "Function", "id": "CVE-2024-50215-1dc59060", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d2f551b1f72b4c508ab9298419f6feadc3b5d791", "signature_version": "v1", "target": { "function": "nvmet_setup_dhgroup", "file": "drivers/nvme/target/auth.c" }, "digest": { "function_hash": "243088452512861556080907776659703564822", "length": 1793.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-50215-1fae1cc2", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d2f551b1f72b4c508ab9298419f6feadc3b5d791", "signature_version": "v1", "target": { "file": "drivers/nvme/target/auth.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "103736732318965084318032149385821697407", "146499451812924755992593362995262720421", "276101933168717941069026365793697942010", "100557075733910693258192731745942688533" ] }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-50215-46e8d195", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c60af16e1d6cc2237d58336546d6adfc067b6b8f", "signature_version": "v1", "target": { "file": "drivers/nvme/target/auth.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "103736732318965084318032149385821697407", "146499451812924755992593362995262720421", "276101933168717941069026365793697942010", "100557075733910693258192731745942688533" ] }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-50215-54e1f415", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e61bd51e44409495d75847e9230736593e4c8710", "signature_version": "v1", "target": { "function": "nvmet_setup_dhgroup", "file": "drivers/nvme/target/auth.c" }, "digest": { "function_hash": "243088452512861556080907776659703564822", "length": 1793.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-50215-56c50c81", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c94e965f766321641ec38e4eece9ce8884543244", "signature_version": "v1", "target": { "function": "nvmet_setup_dhgroup", "file": "drivers/nvme/target/auth.c" }, "digest": { "function_hash": "243088452512861556080907776659703564822", "length": 1793.0 }, "deprecated": false }, { "signature_type": "Function", "id": "CVE-2024-50215-881539f1", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c60af16e1d6cc2237d58336546d6adfc067b6b8f", "signature_version": "v1", "target": { "function": "nvmet_setup_dhgroup", "file": "drivers/nvme/target/auth.c" }, "digest": { "function_hash": "243088452512861556080907776659703564822", "length": 1793.0 }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-50215-c472bf45", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e61bd51e44409495d75847e9230736593e4c8710", "signature_version": "v1", "target": { "file": "drivers/nvme/target/auth.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "103736732318965084318032149385821697407", "146499451812924755992593362995262720421", "276101933168717941069026365793697942010", "100557075733910693258192731745942688533" ] }, "deprecated": false }, { "signature_type": "Line", "id": "CVE-2024-50215-d7a2c978", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c94e965f766321641ec38e4eece9ce8884543244", "signature_version": "v1", "target": { "file": "drivers/nvme/target/auth.c" }, "digest": { "threshold": 0.9, "line_hashes": [ "103736732318965084318032149385821697407", "146499451812924755992593362995262720421", "276101933168717941069026365793697942010", "100557075733910693258192731745942688533" ] }, "deprecated": false } ]