In the Linux kernel, the following vulnerability has been resolved:
pinctrl: check the return value of pinmuxops::getfunction_name()
While the API contract in docs doesn't specify it explicitly, the generic implementation of the getfunctionname() callback from struct pinmuxops - pinmuxgenericgetfunctionname() - can fail and return NULL. This is already checked in pinmuxcheckops() so add a similar check in pinmuxfuncnameto_selector() instead of passing the returned pointer right down to strcmp() where the NULL can get dereferenced. This is normal operation when adding new pinfunctions.
[
{
"id": "CVE-2025-40030-11195f9a",
"target": {
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b7e0535060a60cc99eafc19cc665d979714cd73a",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"169793987048969851817742821908467656747",
"142960504387068625484338660909659432650",
"199281079314808197026611953130793180276",
"301331049600168961676445260665016295528"
]
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-1b5f9c97",
"target": {
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a7fc8fed2bb2e113604fde7a45432ace2056b97",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"292918905560818942525326580237218299704",
"142960504387068625484338660909659432650",
"199281079314808197026611953130793180276",
"301331049600168961676445260665016295528"
]
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-1e6ffd70",
"target": {
"function": "pinmux_func_name_to_selector",
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e7265dc4c670b89611bcf5fe33acf99bc0aa294f",
"signature_type": "Function",
"digest": {
"function_hash": "94741918334187338545557879931485705235",
"length": 357.0
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-342ea3e6",
"target": {
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@688c688e0bf55824f4a38f8c2180046f089a3e3b",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"169793987048969851817742821908467656747",
"142960504387068625484338660909659432650",
"199281079314808197026611953130793180276",
"301331049600168961676445260665016295528"
]
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-36d9d56d",
"target": {
"function": "pinmux_func_name_to_selector",
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4002ee98c022d671ecc1e4a84029e9ae7d8a5603",
"signature_type": "Function",
"digest": {
"function_hash": "94741918334187338545557879931485705235",
"length": 357.0
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-3c4cde11",
"target": {
"function": "pinmux_func_name_to_selector",
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@688c688e0bf55824f4a38f8c2180046f089a3e3b",
"signature_type": "Function",
"digest": {
"function_hash": "94741918334187338545557879931485705235",
"length": 357.0
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-51ecffbb",
"target": {
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ba7f7c2b2b3261e7def67018c38c69b626e0e66e",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"292918905560818942525326580237218299704",
"142960504387068625484338660909659432650",
"199281079314808197026611953130793180276",
"301331049600168961676445260665016295528"
]
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-60f7d1da",
"target": {
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4002ee98c022d671ecc1e4a84029e9ae7d8a5603",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"169793987048969851817742821908467656747",
"142960504387068625484338660909659432650",
"199281079314808197026611953130793180276",
"301331049600168961676445260665016295528"
]
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-67ca7676",
"target": {
"function": "pinmux_func_name_to_selector",
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a2ea887a5cd7d47bab599f733d89444df018b1a",
"signature_type": "Function",
"digest": {
"function_hash": "94741918334187338545557879931485705235",
"length": 357.0
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-8d592125",
"target": {
"function": "pinmux_func_name_to_selector",
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ba7f7c2b2b3261e7def67018c38c69b626e0e66e",
"signature_type": "Function",
"digest": {
"function_hash": "94741918334187338545557879931485705235",
"length": 357.0
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-afdfa783",
"target": {
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e7265dc4c670b89611bcf5fe33acf99bc0aa294f",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"292918905560818942525326580237218299704",
"142960504387068625484338660909659432650",
"199281079314808197026611953130793180276",
"301331049600168961676445260665016295528"
]
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-b52b3a1e",
"target": {
"function": "pinmux_func_name_to_selector",
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d77ef2f621cd1d605372c4c6ce667c496f6990c3",
"signature_type": "Function",
"digest": {
"function_hash": "94741918334187338545557879931485705235",
"length": 357.0
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-c1dbe090",
"target": {
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a2ea887a5cd7d47bab599f733d89444df018b1a",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"292918905560818942525326580237218299704",
"142960504387068625484338660909659432650",
"199281079314808197026611953130793180276",
"301331049600168961676445260665016295528"
]
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-c3aa6d5c",
"target": {
"function": "pinmux_func_name_to_selector",
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1a7fc8fed2bb2e113604fde7a45432ace2056b97",
"signature_type": "Function",
"digest": {
"function_hash": "94741918334187338545557879931485705235",
"length": 357.0
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-f9e894e1",
"target": {
"function": "pinmux_func_name_to_selector",
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b7e0535060a60cc99eafc19cc665d979714cd73a",
"signature_type": "Function",
"digest": {
"function_hash": "94741918334187338545557879931485705235",
"length": 357.0
},
"deprecated": false,
"signature_version": "v1"
},
{
"id": "CVE-2025-40030-fd8d68a3",
"target": {
"file": "drivers/pinctrl/pinmux.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d77ef2f621cd1d605372c4c6ce667c496f6990c3",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"292918905560818942525326580237218299704",
"142960504387068625484338660909659432650",
"199281079314808197026611953130793180276",
"301331049600168961676445260665016295528"
]
},
"deprecated": false,
"signature_version": "v1"
}
]