CVE-2026-98971
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: gpio: exar: initialize the ID before registering its cleanup devm_add_action_or_reset() invokes the cleanup action immediately when registering the action fails. gpio_exar_probe() currently stores the allocated ID in exar_gpio only after registering the action, so that failure makes exar_devm_ida_free() release ID 0. If the allocated ID is nonzero, this leaks that ID and can free ID 0 belonging to another device. Store the ID before registering the cleanup action so both the immediate failure path and normal device teardown release the correct allocation.
Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-23 13:17:18.673000
Last modified
2026-10-30 13:21:33.613000
View original CVE JSON
{
"id": "CVE-2026-98971",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-10-23T13:17:18.673",
"lastModified": "2026-10-30T13:21:33.613",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ngpio: exar: initialize the ID before registering its cleanup\n\ndevm_add_action_or_reset() invokes the cleanup action immediately when\nregistering the action fails. gpio_exar_probe() currently stores the\nallocated ID in exar_gpio only after registering the action, so that\nfailure makes exar_devm_ida_free() release ID 0. If the allocated ID is\nnonzero, this leaks that ID and can free ID 0 belonging to another device.\n\nStore the ID before registering the cleanup action so both the immediate\nfailure path and normal device teardown release the correct allocation."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/gpio/gpio-exar.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "5300ebb695fa0672589ab191062392f686fca75d",
"lessThan": "0250acba81654b2ee50bde324ad72b3f0c04d0bd",
"versionType": "git",
"status": "affected"
},
{
"version": "5300ebb695fa0672589ab191062392f686fca75d",
"lessThan": "88b9c4bbf83d940ab672956e5af921215905dcb4",
"versionType": "git",
"status": "affected"
},
{
"version": "5300ebb695fa0672589ab191062392f686fca75d",
"lessThan": "bf3d841ef12fcbec4458e2750956b738b043a226",
"versionType": "git",
"status": "affected"
},
{
"version": "5300ebb695fa0672589ab191062392f686fca75d",
"lessThan": "b78c114600ae3df90c083c72c290437b068577c8",
"versionType": "git",
"status": "affected"
},
{
"version": "5300ebb695fa0672589ab191062392f686fca75d",
"lessThan": "01318927a9055136c207399eeb36ce07becac179",
"versionType": "git",
"status": "affected"
},
{
"version": "5300ebb695fa0672589ab191062392f686fca75d",
"lessThan": "f7ec4dbd2a073dd53b6349be1c586fe8580dd6b2",
"versionType": "git",
"status": "affected"
},
{
"version": "5300ebb695fa0672589ab191062392f686fca75d",
"lessThan": "4d69e74034b208588636ecc177e0dd43a7696af3",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/gpio/gpio-exar.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "5.11",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.11",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.224",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.191",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.160",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.113",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.57",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.11",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/01318927a9055136c207399eeb36ce07becac179",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/0250acba81654b2ee50bde324ad72b3f0c04d0bd",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/4d69e74034b208588636ecc177e0dd43a7696af3",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/88b9c4bbf83d940ab672956e5af921215905dcb4",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/b78c114600ae3df90c083c72c290437b068577c8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/bf3d841ef12fcbec4458e2750956b738b043a226",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f7ec4dbd2a073dd53b6349be1c586fe8580dd6b2",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}