{"id":"CVE-2026-98971","state":"PUBLISHED","title":"gpio: exar: initialize the ID before registering its cleanup","description":"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.","publishedAt":"2026-10-23T12:19:44.536Z","updatedAt":"2026-10-30T12:40:37.940Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"0250acba81654b2ee50bde324ad72b3f0c04d0bd","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"88b9c4bbf83d940ab672956e5af921215905dcb4","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"bf3d841ef12fcbec4458e2750956b738b043a226","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"b78c114600ae3df90c083c72c290437b068577c8","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"01318927a9055136c207399eeb36ce07becac179","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"f7ec4dbd2a073dd53b6349be1c586fe8580dd6b2","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"4d69e74034b208588636ecc177e0dd43a7696af3","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpio/gpio-exar.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.11","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.11","versionType":"semver"},{"version":"5.15.224","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.113","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.57","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.11","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpio/gpio-exar.c"]}],"references":["https://git.kernel.org/stable/c/0250acba81654b2ee50bde324ad72b3f0c04d0bd","https://git.kernel.org/stable/c/88b9c4bbf83d940ab672956e5af921215905dcb4","https://git.kernel.org/stable/c/bf3d841ef12fcbec4458e2750956b738b043a226","https://git.kernel.org/stable/c/b78c114600ae3df90c083c72c290437b068577c8","https://git.kernel.org/stable/c/01318927a9055136c207399eeb36ce07becac179","https://git.kernel.org/stable/c/f7ec4dbd2a073dd53b6349be1c586fe8580dd6b2","https://git.kernel.org/stable/c/4d69e74034b208588636ecc177e0dd43a7696af3"],"weaknesses":[],"ingestedAt":"2026-10-30T13:00:06.648Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/98xxx/CVE-2026-98971.json","commit":"cb14bf1b43b0c9f05f7f40eae2246263fd430780","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-98971","state":"PUBLISHED","datePublished":"2026-10-23T12:19:44.536Z","dateUpdated":"2026-10-30T12:40:37.940Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-25T10:25:14.383Z"},"containers":{"cna":{"title":"gpio: exar: initialize the ID before registering its cleanup","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":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"0250acba81654b2ee50bde324ad72b3f0c04d0bd","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"88b9c4bbf83d940ab672956e5af921215905dcb4","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"bf3d841ef12fcbec4458e2750956b738b043a226","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"b78c114600ae3df90c083c72c290437b068577c8","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"01318927a9055136c207399eeb36ce07becac179","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"f7ec4dbd2a073dd53b6349be1c586fe8580dd6b2","versionType":"git"},{"version":"5300ebb695fa0672589ab191062392f686fca75d","status":"affected","lessThan":"4d69e74034b208588636ecc177e0dd43a7696af3","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpio/gpio-exar.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.11","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.11","versionType":"semver"},{"version":"5.15.224","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.113","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.57","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.11","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpio/gpio-exar.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/0250acba81654b2ee50bde324ad72b3f0c04d0bd"},{"url":"https://git.kernel.org/stable/c/88b9c4bbf83d940ab672956e5af921215905dcb4"},{"url":"https://git.kernel.org/stable/c/bf3d841ef12fcbec4458e2750956b738b043a226"},{"url":"https://git.kernel.org/stable/c/b78c114600ae3df90c083c72c290437b068577c8"},{"url":"https://git.kernel.org/stable/c/01318927a9055136c207399eeb36ce07becac179"},{"url":"https://git.kernel.org/stable/c/f7ec4dbd2a073dd53b6349be1c586fe8580dd6b2"},{"url":"https://git.kernel.org/stable/c/4d69e74034b208588636ecc177e0dd43a7696af3"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:40:37.940Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"5.15.224"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"6.6.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"6.12.113"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"6.18.57"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"7.2.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.11","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}