cve-2026-64103
HIGH CVSS 7.8 opencveIn the Linux kernel, the following vulnerability has been resolved: scsi: isci: Fix use-after-free in device removal path The ISCI completion tasklet is initialized in isci_host_alloc() (drivers/scsi/isci/init.c:496) and scheduled from both MSI-X and legacy interrupt handlers (drivers/scsi/isci/host.c:223,613). isci_host_deinit() stops the controller and waits for stop completion, but it never kills completion_tasklet before teardown continues. A top-of-function tasklet_kill() is not sufficient here: interrupts are only disabled when isci_host_stop_complete() runs, so until wait_for_stop() returns the IRQ handlers can still requeue the tasklet. The tasklet callback also re-enables interrupts after draining completions, so killing the tasklet before the source is quiesced leaves the same race open. Once wait_for_stop() returns, no further IRQ-driven scheduling can occur. Kill completion_tasklet there so teardown cannot race a queued tasklet running on a dead ihost. On remove or unload, the stale callback can otherwise dereference ihost and touch ihost->smu_registers after the host lifetime ends. A UML + KASAN analogue reproduced the failure class both with no tasklet_kill() and with tasklet_kill() placed before source quiesce, and stayed clean once the kill happened after quiescing the scheduling source. This mirrors commit f6ab594672d4 ("scsi: aic94xx: fix use-after-free in device removal path"), but ISCI needs the kill after wait_for_stop().
- Published
- 2026-07-19 16:17 UTC
- Last Modified
- 2026-08-12
CVSS details not available.
No product information available.
| Version | Base | Severity | Vector | Exploitability | Impact | Source |
|---|---|---|---|---|---|---|
| 3.1 | 7.8 | HIGH | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
nvd | ||
| 3.1 | 7.8 | HIGH | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
opencve | ||
| 3.1 | 5.5 | MEDIUM | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
redhat |
No references available.
{
"advisories": [
{
"id": "USN-8575-1",
"source": "usn",
"title": "Linux kernel vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8575-1"
},
{
"id": "USN-8576-1",
"source": "usn",
"title": "Linux kernel (NVIDIA Tegra) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8576-1"
},
{
"id": "USN-8593-1",
"source": "usn",
"title": "Linux kernel vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8593-1"
},
{
"id": "USN-8575-2",
"source": "usn",
"title": "Linux kernel vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8575-2"
},
{
"id": "USN-8576-2",
"source": "usn",
"title": "Linux kernel (NVIDIA Tegra) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8576-2"
},
{
"id": "USN-8575-3",
"source": "usn",
"title": "Linux kernel vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8575-3"
},
{
"id": "USN-8603-1",
"source": "usn",
"title": "Linux kernel (Azure) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8603-1"
},
{
"id": "USN-8610-1",
"source": "usn",
"title": "Linux kernel (Azure CVM) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8610-1"
},
{
"id": "USN-8618-1",
"source": "usn",
"title": "Linux kernel vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8618-1"
},
{
"id": "USN-8620-1",
"source": "usn",
"title": "Linux kernel vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8620-1"
},
{
"id": "USN-8620-2",
"source": "usn",
"title": "Linux kernel (Azure FIPS) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8620-2"
},
{
"id": "USN-8620-3",
"source": "usn",
"title": "Linux kernel (Intel IoTG) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8620-3"
},
{
"id": "USN-8620-4",
"source": "usn",
"title": "Linux kernel (Intel IoTG) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8620-4"
},
{
"id": "USN-8663-1",
"source": "usn",
"title": "Linux kernel (NVIDIA) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8663-1"
},
{
"id": "USN-8664-1",
"source": "usn",
"title": "Linux kernel (NVIDIA BaseOS) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8664-1"
},
{
"id": "USN-8668-1",
"source": "usn",
"title": "Linux kernel (GCP) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8668-1"
},
{
"id": "USN-8728-1",
"source": "usn",
"title": "Linux kernel (GCP) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8728-1"
},
{
"id": "USN-8729-1",
"source": "usn",
"title": "Linux kernel vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8729-1"
},
{
"id": "USN-8761-1",
"source": "usn",
"title": "Linux kernel (Azure) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8761-1"
},
{
"id": "USN-8729-2",
"source": "usn",
"title": "Linux kernel (Raspberry Pi Real-time) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8729-2"
},
{
"id": "USN-8761-2",
"source": "usn",
"title": "Linux kernel (Azure FIPS) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8761-2"
},
{
"id": "USN-8781-1",
"source": "usn",
"title": "Linux kernel (NVIDIA Tegra) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8781-1"
},
{
"id": "USN-8668-2",
"source": "usn",
"title": "Linux kernel (Raspberry Pi) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8668-2"
},
{
"id": "USN-8729-3",
"source": "usn",
"title": "Linux kernel vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8729-3"
},
{
"id": "USN-8802-1",
"source": "usn",
"title": "Linux kernel (Oracle) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8802-1"
},
{
"id": "USN-8728-2",
"source": "usn",
"title": "Linux kernel (Azure) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8728-2"
},
{
"id": "USN-8729-4",
"source": "usn",
"title": "Linux kernel (Low Latency) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8729-4"
},
{
"id": "USN-8729-5",
"source": "usn",
"title": "Linux kernel (AWS FIPS) vulnerabilities",
"url": "https://ubuntu.com/security/notices/USN-8729-5"
}
],
"cve": "CVE-2026-64103",
"enrichment": {
"affected": [
{
"configurations": [
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,1412995e10c74644b47f242aea6e4f3d4180e806)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,a83d3e4daba40d49324cec1c51ed261e1ea48cf1)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,ab2266601a875982f2d2033f41e070a6d5e615e2)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,309c6058622d080fe8c2fab87c30da82d834d989)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,cb9e72c50e6c81a5903f27e0b397ce8525d7539b)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,b9ff8631006233ba246828ac70409d2cb2da38d3)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,6d40f2f103bb30f52f3dbadbe2c3fdf274a9763c)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,b52a8d52c3125ec9a93106ed816582368de34426)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,1412995e10c74644b47f242aea6e4f3d4180e806)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,a83d3e4daba40d49324cec1c51ed261e1ea48cf1)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,ab2266601a875982f2d2033f41e070a6d5e615e2)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,309c6058622d080fe8c2fab87c30da82d834d989)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,cb9e72c50e6c81a5903f27e0b397ce8525d7539b)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,b9ff8631006233ba246828ac70409d2cb2da38d3)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,6d40f2f103bb30f52f3dbadbe2c3fdf274a9763c)"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "code_commit",
"value": "[6f231dda68080759f1aed3769896e94c73099f0f,b52a8d52c3125ec9a93106ed816582368de34426)"
}
}
],
"enrichment": {
"confidence": 99.0,
"confidence_source": "inferred",
"scores": [
{
"score": 99.0,
"source": "inferred"
},
{
"score": 100.0,
"source": "matching"
}
]
},
"original": {
"product": "Linux",
"source": "cna",
"vendor": "Linux"
},
"product": "linux_kernel",
"vendor": "linux"
},
{
"configurations": [
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "semver",
"value": "[3.0,*]"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[0,3.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[5.10.258,5.11.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[5.15.209,5.16.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[6.1.175,6.2.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[6.6.142,6.7.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[6.12.92,6.13.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[6.18.34,6.19.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[7.0.11,7.1.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[7.1,*]"
}
},
{
"platform": null,
"status": "affected",
"versions": {
"scheme": "semver",
"value": "[3.0,*]"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[0,3.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[5.10.258,5.11.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[7.1,*]"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[6.1.175,6.2.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[6.6.142,6.7.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[6.12.92,6.13.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[6.18.34,6.19.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[7.0.11,7.1.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[5.15.209,5.16.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "semver",
"value": "[2.1.0,2.2.0)"
}
},
{
"platform": null,
"status": "unaffected",
"versions": {
"scheme": "generic",
"value": "[0,1)"
}
}
],
"enrichment": {
"confidence": 99.0,
"confidence_source": "inferred",
"scores": [
{
"score": 99.0,
"source": "inferred"
},
{
"score": 100.0,
"source": "matching"
}
]
},
"original": {
"product": "Linux",
"source": "cna",
"vendor": "Linux"
},
"product": "linux_kernel",
"vendor": "linux"
}
],
"created": "2026-07-21T18:15:10.269617+00:00",
"updated": "2026-08-13T12:45:03.415121+00:00",
"vendors": [
"linux",
"linux$PRODUCT$linux_kernel"
]
},
"epss": {
"score": 0.00171
},
"mitre": {
"cpes": [
"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*"
],
"created": "2026-07-19T15:40:07.372000+00:00",
"description": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: isci: Fix use-after-free in device removal path\n\nThe ISCI completion tasklet is initialized in isci_host_alloc()\n(drivers/scsi/isci/init.c:496) and scheduled from both MSI-X and legacy\ninterrupt handlers (drivers/scsi/isci/host.c:223,613).\n\nisci_host_deinit() stops the controller and waits for stop completion,\nbut it never kills completion_tasklet before teardown continues. A\ntop-of-function tasklet_kill() is not sufficient here: interrupts are\nonly disabled when isci_host_stop_complete() runs, so until\nwait_for_stop() returns the IRQ handlers can still requeue the\ntasklet. The tasklet callback also re-enables interrupts after draining\ncompletions, so killing the tasklet before the source is quiesced leaves\nthe same race open.\n\nOnce wait_for_stop() returns, no further IRQ-driven scheduling can\noccur. Kill completion_tasklet there so teardown cannot race a queued\ntasklet running on a dead ihost. On remove or unload, the stale callback\ncan otherwise dereference ihost and touch ihost->smu_registers after the\nhost lifetime ends.\n\nA UML + KASAN analogue reproduced the failure class both with no\ntasklet_kill() and with tasklet_kill() placed before source quiesce, and\nstayed clean once the kill happened after quiescing the scheduling\nsource.\n\nThis mirrors commit f6ab594672d4 (\"scsi: aic94xx: fix use-after-free in\ndevice removal path\"), but ISCI needs the kill after wait_for_stop().",
"metrics": {
"cvssV2_0": {},
"cvssV3_0": {},
"cvssV3_1": {},
"cvssV4_0": {}
},
"mitre_repo_path": "cves/2026/64xxx/CVE-2026-64103.json",
"references": [
"https://git.kernel.org/stable/c/1412995e10c74644b47f242aea6e4f3d4180e806",
"https://git.kernel.org/stable/c/309c6058622d080fe8c2fab87c30da82d834d989",
"https://git.kernel.org/stable/c/6d40f2f103bb30f52f3dbadbe2c3fdf274a9763c",
"https://git.kernel.org/stable/c/a83d3e4daba40d49324cec1c51ed261e1ea48cf1",
"https://git.kernel.org/stable/c/ab2266601a875982f2d2033f41e070a6d5e615e2",
"https://git.kernel.org/stable/c/b52a8d52c3125ec9a93106ed816582368de34426",
"https://git.kernel.org/stable/c/b9ff8631006233ba246828ac70409d2cb2da38d3",
"https://git.kernel.org/stable/c/cb9e72c50e6c81a5903f27e0b397ce8525d7539b"
],
"title": "scsi: isci: Fix use-after-free in device removal path",
"updated": "2026-07-19T15:40:07.372000+00:00",
"vendors": [
"linux",
"linux$PRODUCT$linux_kernel"
],
"weaknesses": []
},
"nvd": {
"cpes": [
"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:3.0:-:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:3.0:rc6:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:3.0:rc7:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*"
],
"created": "2026-07-19T16:17:51.533000+00:00",
"description": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: isci: Fix use-after-free in device removal path\n\nThe ISCI completion tasklet is initialized in isci_host_alloc()\n(drivers/scsi/isci/init.c:496) and scheduled from both MSI-X and legacy\ninterrupt handlers (drivers/scsi/isci/host.c:223,613).\n\nisci_host_deinit() stops the controller and waits for stop completion,\nbut it never kills completion_tasklet before teardown continues. A\ntop-of-function tasklet_kill() is not sufficient here: interrupts are\nonly disabled when isci_host_stop_complete() runs, so until\nwait_for_stop() returns the IRQ handlers can still requeue the\ntasklet. The tasklet callback also re-enables interrupts after draining\ncompletions, so killing the tasklet before the source is quiesced leaves\nthe same race open.\n\nOnce wait_for_stop() returns, no further IRQ-driven scheduling can\noccur. Kill completion_tasklet there so teardown cannot race a queued\ntasklet running on a dead ihost. On remove or unload, the stale callback\ncan otherwise dereference ihost and touch ihost->smu_registers after the\nhost lifetime ends.\n\nA UML + KASAN analogue reproduced the failure class both with no\ntasklet_kill() and with tasklet_kill() placed before source quiesce, and\nstayed clean once the kill happened after quiescing the scheduling\nsource.\n\nThis mirrors commit f6ab594672d4 (\"scsi: aic94xx: fix use-after-free in\ndevice removal path\"), but ISCI needs the kill after wait_for_stop().",
"metrics": {
"cvssV2_0": {},
"cvssV3_0": {},
"cvssV3_1": {
"score": 7.8,
"vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
},
"cvssV4_0": {}
},
"nvd_repo_path": "2026/CVE-2026-64103.json",
"references": [
"https://git.kernel.org/stable/c/1412995e10c74644b47f242aea6e4f3d4180e806",
"https://git.kernel.org/stable/c/309c6058622d080fe8c2fab87c30da82d834d989",
"https://git.kernel.org/stable/c/6d40f2f103bb30f52f3dbadbe2c3fdf274a9763c",
"https://git.kernel.org/stable/c/a83d3e4daba40d49324cec1c51ed261e1ea48cf1",
"https://git.kernel.org/stable/c/ab2266601a875982f2d2033f41e070a6d5e615e2",
"https://git.kernel.org/stable/c/b52a8d52c3125ec9a93106ed816582368de34426",
"https://git.kernel.org/stable/c/b9ff8631006233ba246828ac70409d2cb2da38d3",
"https://git.kernel.org/stable/c/cb9e72c50e6c81a5903f27e0b397ce8525d7539b"
],
"title": null,
"updated": "2026-08-12T15:49:19.403000+00:00",
"vendors": [
"linux",
"linux$PRODUCT$linux_kernel"
],
"weaknesses": [
"CWE-416"
]
},
"opencve": {
"changes": [
{
"created": "2026-07-19T16:15:00+00:00",
"data": [
{
"details": {
"new": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: isci: Fix use-after-free in device removal path\n\nThe ISCI completion tasklet is initialized in isci_host_alloc()\n(drivers/scsi/isci/init.c:496) and scheduled from both MSI-X and legacy\ninterrupt handlers (drivers/scsi/isci/host.c:223,613).\n\nisci_host_deinit() stops the controller and waits for stop completion,\nbut it never kills completion_tasklet before teardown continues. A\ntop-of-function tasklet_kill() is not sufficient here: interrupts are\nonly disabled when isci_host_stop_complete() runs, so until\nwait_for_stop() returns the IRQ handlers can still requeue the\ntasklet. The tasklet callback also re-enables interrupts after draining\ncompletions, so killing the tasklet before the source is quiesced leaves\nthe same race open.\n\nOnce wait_for_stop() returns, no further IRQ-driven scheduling can\noccur. Kill completion_tasklet there so teardown cannot race a queued\ntasklet running on a dead ihost. On remove or unload, the stale callback\ncan otherwise dereference ihost and touch ihost->smu_registers after the\nhost lifetime ends.\n\nA UML + KASAN analogue reproduced the failure class both with no\ntasklet_kill() and with tasklet_kill() placed before source quiesce, and\nstayed clean once the kill happened after quiescing the scheduling\nsource.\n\nThis mirrors commit f6ab594672d4 (\"scsi: aic94xx: fix use-after-free in\ndevice removal path\"), but ISCI needs the kill after wait_for_stop().",
"old": null
},
"type": "description"
},
{
"details": {
"new": "scsi: isci: Fix use-after-free in device removal path",
"old": null
},
"type": "title"
},
{
"details": [
"linux",
"linux$PRODUCT$linux_kernel"
],
"type": "first_time"
},
{
"details": {
"added": [
"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*"
],
"removed": []
},
"type": "cpes"
},
{
"details": {
"added": [
"linux",
"linux$PRODUCT$linux_kernel"
],
"removed": []
},
"type": "vendors"
},
{
"details": {
"added": [
"https://git.kernel.org/stable/c/1412995e10c74644b47f242aea6e4f3d4180e806",
"https://git.kernel.org/stable/c/309c6058622d080fe8c2fab87c30da82d834d989",
"https://git.kernel.org/stable/c/6d40f2f103bb30f52f3dbadbe2c3fdf274a9763c",
"https://git.kernel.org/stable/c/a83d3e4daba40d49324cec1c51ed261e1ea48cf1",
"https://git.kernel.org/stable/c/ab2266601a875982f2d2033f41e070a6d5e615e2",
"https://git.kernel.org/stable/c/b52a8d52c3125ec9a93106ed816582368de34426",
"https://git.kernel.org/stable/c/b9ff8631006233ba246828ac70409d2cb2da38d3",
"https://git.kernel.org/stable/c/cb9e72c50e6c81a5903f27e0b397ce8525d7539b"
],
"removed": []
},
"type": "references"
}
],
"id": "96adeecf-5e59-4e68-a2b4-115f0603ae60"
},
{
"created": "2026-07-21T12:15:00+00:00",
"data": [
{
"details": {
"added": [
"CWE-825"
],
"removed": []
},
"type": "weaknesses"
},
{
"details": {
"added": [
"https://lore.kernel.org/linux-cve-announce/2026071920-CVE-2026-64103-24fe@gregkh/T",
"https://nvd.nist.gov/vuln/detail/CVE-2026-64103",
"https://www.cve.org/CVERecord?id=CVE-2026-64103"
],
"removed": []
},
"type": "references"
},
{
"details": {
"added": {
"cvssV3_1": {
"score": 5.5,
"vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
}
},
"removed": {},
"updated": {
"threat_severity": {
"new": "Moderate",
"old": null
}
}
},
"type": "metrics"
}
],
"id": "1ba0340d-1fc6-43b8-a2e3-5e0140182a45"
},
{
"created": "2026-08-12T16:00:00+00:00",
"data": [
{
"details": {
"added": [
"CWE-416"
],
"removed": []
},
"type": "weaknesses"
},
{
"details": {
"added": [
"cpe:2.3:o:linux:linux_kernel:3.0:-:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:3.0:rc6:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:3.0:rc7:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*"
],
"removed": []
},
"type": "cpes"
},
{
"details": {
"added": {},
"removed": {},
"updated": {
"cvssV3_1": {
"new": {
"score": 7.8,
"vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
},
"old": {
"score": 5.5,
"vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
}
}
}
},
"type": "metrics"
}
],
"id": "297b5557-5c73-4e6d-8aa2-197dec3031a0"
}
],
"cpes": {
"data": [
"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:3.0:-:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:3.0:rc6:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:3.0:rc7:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*",
"cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*"
],
"providers": [
"mitre",
"nvd"
]
},
"created": {
"data": "2026-07-19T00:00:00+00:00",
"provider": "redhat"
},
"description": {
"data": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: isci: Fix use-after-free in device removal path\n\nThe ISCI completion tasklet is initialized in isci_host_alloc()\n(drivers/scsi/isci/init.c:496) and scheduled from both MSI-X and legacy\ninterrupt handlers (drivers/scsi/isci/host.c:223,613).\n\nisci_host_deinit() stops the controller and waits for stop completion,\nbut it never kills completion_tasklet before teardown continues. A\ntop-of-function tasklet_kill() is not sufficient here: interrupts are\nonly disabled when isci_host_stop_complete() runs, so until\nwait_for_stop() returns the IRQ handlers can still requeue the\ntasklet. The tasklet callback also re-enables interrupts after draining\ncompletions, so killing the tasklet before the source is quiesced leaves\nthe same race open.\n\nOnce wait_for_stop() returns, no further IRQ-driven scheduling can\noccur. Kill completion_tasklet there so teardown cannot race a queued\ntasklet running on a dead ihost. On remove or unload, the stale callback\ncan otherwise dereference ihost and touch ihost->smu_registers after the\nhost lifetime ends.\n\nA UML + KASAN analogue reproduced the failure class both with no\ntasklet_kill() and with tasklet_kill() placed before source quiesce, and\nstayed clean once the kill happened after quiescing the scheduling\nsource.\n\nThis mirrors commit f6ab594672d4 (\"scsi: aic94xx: fix use-after-free in\ndevice removal path\"), but ISCI needs the kill after wait_for_stop().",
"provider": "mitre"
},
"metrics": {
"cvssV2_0": {
"data": {},
"provider": null
},
"cvssV3_0": {
"data": {},
"provider": null
},
"cvssV3_1": {
"data": {
"score": 7.8,
"vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
},
"provider": "nvd"
},
"cvssV4_0": {
"data": {},
"provider": null
},
"epss": {
"data": {
"score": 0.00171
},
"provider": "first"
},
"kev": {
"data": {},
"provider": null
},
"ssvc": {
"data": {},
"provider": null
},
"threat_severity": {
"data": "Moderate",
"provider": "redhat"
}
},
"references": {
"data": [
"https://git.kernel.org/stable/c/1412995e10c74644b47f242aea6e4f3d4180e806",
"https://git.kernel.org/stable/c/309c6058622d080fe8c2fab87c30da82d834d989",
"https://git.kernel.org/stable/c/6d40f2f103bb30f52f3dbadbe2c3fdf274a9763c",
"https://git.kernel.org/stable/c/a83d3e4daba40d49324cec1c51ed261e1ea48cf1",
"https://git.kernel.org/stable/c/ab2266601a875982f2d2033f41e070a6d5e615e2",
"https://git.kernel.org/stable/c/b52a8d52c3125ec9a93106ed816582368de34426",
"https://git.kernel.org/stable/c/b9ff8631006233ba246828ac70409d2cb2da38d3",
"https://git.kernel.org/stable/c/cb9e72c50e6c81a5903f27e0b397ce8525d7539b",
"https://lore.kernel.org/linux-cve-announce/2026071920-CVE-2026-64103-24fe@gregkh/T",
"https://nvd.nist.gov/vuln/detail/CVE-2026-64103",
"https://www.cve.org/CVERecord?id=CVE-2026-64103"
],
"providers": [
"mitre",
"nvd",
"redhat"
]
},
"title": {
"data": "scsi: isci: Fix use-after-free in device removal path",
"provider": "mitre"
},
"updated": {
"data": "2026-08-12T15:49:19.403000+00:00",
"provider": "nvd"
},
"vendors": {
"data": [
"linux",
"linux$PRODUCT$linux_kernel"
],
"providers": [
"mitre",
"nvd",
"enrichment"
]
},
"weaknesses": {
"data": [
"CWE-416",
"CWE-825"
],
"providers": [
"nvd",
"redhat"
]
}
},
"redhat": {
"cpes": [],
"created": "2026-07-19T00:00:00+00:00",
"description": "In the Linux kernel, the following vulnerability has been resolved:\nscsi: isci: Fix use-after-free in device removal path\nThe ISCI completion tasklet is initialized in isci_host_alloc()\n(drivers/scsi/isci/init.c:496) and scheduled from both MSI-X and legacy\ninterrupt handlers (drivers/scsi/isci/host.c:223,613).\nisci_host_deinit() stops the controller and waits for stop completion,\nbut it never kills completion_tasklet before teardown continues. A\ntop-of-function tasklet_kill() is not sufficient here: interrupts are\nonly disabled when isci_host_stop_complete() runs, so until\nwait_for_stop() returns the IRQ handlers can still requeue the\ntasklet. The tasklet callback also re-enables interrupts after draining\ncompletions, so killing the tasklet before the source is quiesced leaves\nthe same race open.\nOnce wait_for_stop() returns, no further IRQ-driven scheduling can\noccur. Kill completion_tasklet there so teardown cannot race a queued\ntasklet running on a dead ihost. On remove or unload, the stale callback\ncan otherwise dereference ihost and touch ihost->smu_registers after the\nhost lifetime ends.\nA UML + KASAN analogue reproduced the failure class both with no\ntasklet_kill() and with tasklet_kill() placed before source quiesce, and\nstayed clean once the kill happened after quiescing the scheduling\nsource.\nThis mirrors commit f6ab594672d4 (\"scsi: aic94xx: fix use-after-free in\ndevice removal path\"), but ISCI needs the kill after wait_for_stop().",
"metrics": {
"cvssV2_0": {},
"cvssV3_0": {},
"cvssV3_1": {
"score": 5.5,
"vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"
},
"threat_severity": "Moderate"
},
"redhat_repo_path": "2026/CVE-2026-64103.json",
"references": [
"https://lore.kernel.org/linux-cve-announce/2026071920-CVE-2026-64103-24fe@gregkh/T",
"https://nvd.nist.gov/vuln/detail/CVE-2026-64103",
"https://www.cve.org/CVERecord?id=CVE-2026-64103"
],
"title": "kernel: scsi: isci: Fix use-after-free in device removal path",
"updated": "2026-07-19T00:00:00+00:00",
"vendors": [],
"weaknesses": [
"CWE-825"
]
}
}