In the Linux kernel, the following vulnerability has been resolved:
pinctrl: nuvoton: fix a double free in ma35pinctrldtnodetomapfunc()
'newmap' is allocated using devm* which takes care of freeing the allocated data on device removal, call to
.dt_free_map = pinconf_generic_dt_free_map
double frees the map as pinconfgenericdtfreemap() calls pinctrlutilsfree_map().
Fix this by using kcalloc() instead of auto-managed devm_kcalloc().
{ "vanir_signatures": [ { "target": { "file": "drivers/pinctrl/nuvoton/pinctrl-ma35.c" }, "id": "CVE-2024-50071-45a986df", "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "207718085162730577966884396055250782682", "165264640361910837797236764219685278284", "36892431933506273108148508626040450132", "129692216804973242421263379018119947851" ] }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3fd976afe9743110f20a23f93b7ff9693f2be4bf", "signature_type": "Line" }, { "target": { "file": "drivers/pinctrl/nuvoton/pinctrl-ma35.c", "function": "ma35_pinctrl_dt_node_to_map_func" }, "id": "CVE-2024-50071-926f5b05", "signature_version": "v1", "digest": { "length": 1256.0, "function_hash": "329402339981280169776745056207960849339" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3fd976afe9743110f20a23f93b7ff9693f2be4bf", "signature_type": "Function" }, { "target": { "file": "drivers/pinctrl/nuvoton/pinctrl-ma35.c", "function": "ma35_pinctrl_dt_node_to_map_func" }, "id": "CVE-2024-50071-a6420261", "signature_version": "v1", "digest": { "length": 1256.0, "function_hash": "329402339981280169776745056207960849339" }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6441d9c3d71b59c8fd27d4e381c7471a32ac1a68", "signature_type": "Function" }, { "target": { "file": "drivers/pinctrl/nuvoton/pinctrl-ma35.c" }, "id": "CVE-2024-50071-c5d90078", "signature_version": "v1", "digest": { "threshold": 0.9, "line_hashes": [ "207718085162730577966884396055250782682", "165264640361910837797236764219685278284", "36892431933506273108148508626040450132", "129692216804973242421263379018119947851" ] }, "deprecated": false, "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6441d9c3d71b59c8fd27d4e381c7471a32ac1a68", "signature_type": "Line" } ] }