{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2024-42286", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2024-07-30T07:40:12.262Z", "datePublished": "2024-08-17T09:08:52.036Z", "dateUpdated": "2026-08-05T11:36:22.360Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:36:22.360Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: qla2xxx: validate nvme_local_port correctly\n\nThe driver load failed with error message,\n\nqla2xxx [0000:04:00.0]-ffff:0: register_localport failed: ret=ffffffef\n\nand with a kernel crash,\n\n\tBUG: unable to handle kernel NULL pointer dereference at 0000000000000070\n\tWorkqueue: events_unbound qla_register_fcport_fn [qla2xxx]\n\tRIP: 0010:nvme_fc_register_remoteport+0x16/0x430 [nvme_fc]\n\tRSP: 0018:ffffaaa040eb3d98 EFLAGS: 00010282\n\tRAX: 0000000000000000 RBX: ffff9dfb46b78c00 RCX: 0000000000000000\n\tRDX: ffff9dfb46b78da8 RSI: ffffaaa040eb3e08 RDI: 0000000000000000\n\tRBP: ffff9dfb612a0a58 R08: ffffffffaf1d6270 R09: 3a34303a30303030\n\tR10: 34303a303030305b R11: 2078787832616c71 R12: ffff9dfb46b78dd4\n\tR13: ffff9dfb46b78c24 R14: ffff9dfb41525300 R15: ffff9dfb46b78da8\n\tFS: 0000000000000000(0000) GS:ffff9dfc67c00000(0000) knlGS:0000000000000000\n\tCS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n\tCR2: 0000000000000070 CR3: 000000018da10004 CR4: 00000000000206f0\n\tCall Trace:\n\tqla_nvme_register_remote+0xeb/0x1f0 [qla2xxx]\n\t? qla2x00_dfs_create_rport+0x231/0x270 [qla2xxx]\n\tqla2x00_update_fcport+0x2a1/0x3c0 [qla2xxx]\n\tqla_register_fcport_fn+0x54/0xc0 [qla2xxx]\n\nExit the qla_nvme_register_remote() function when qla_nvme_register_hba()\nfails and correctly validate nvme_local_port." } ], "metrics": [ { "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH" }, "scenarios": [ { "lang": "en", "value": "AV:N - The vulnerable code runs entirely in kernel DPC/workqueue context in response to Fibre Channel fabric events (link up, RSCN, remote port login) delivered by peers on the SAN, with no local syscall or ioctl involvement. Consistent with other qla2xxx fabric-driven NULL-deref CVEs in this driver (e.g. CVE-2025-71236), the remote FC peer that drives discovery makes this network-reachable.\nAC:L - Both sides of the race are discovery paths an attacker can drive repeatedly by generating link bounces/RSCNs and port logins, forcing concurrent `qla_nvme_register_hba()` entry from the DPC thread and the fcport workqueue. The race was hit spontaneously on ordinary driver load in the field, showing the window is wide and requires no special conditions.\nPR:N - No credentials are checked anywhere on the path — standard Fibre Channel fabric login and RSCN processing is unauthenticated by default (FC-SP/EDIF is opt-in and rarely deployed), and the crashing code runs in kernel worker context with no privilege gate.\nUI:N - The registration path is triggered automatically by fabric discovery and driver initialization; no administrator or user action is needed beyond the system having an NVMe-FC-capable qla2xxx HBA attached to the fabric.\nS:U - The NULL dereference oopses inside the kernel that owns the driver; no VM, IOMMU, or sandbox boundary is crossed and the impact stays within the same security authority.\nC:N - The fault is a dereference of a NULL `nvme_fc_local_port` at fixed offset 0x70, an address below `mmap_min_addr` that cannot be mapped or populated by an attacker, so no kernel memory contents are disclosed.\nI:N - The access is `kref_get_unless_zero()` on an unmappable NULL-page address, which faults before any state is modified; there is no out-of-bounds write, freed-object reuse, or type confusion to leverage for corruption.\nA:H - The dereference produces a kernel oops in `events_unbound`/`qla_register_fcport_fn`, killing the worker, aborting driver load, and leaving the NVMe-FC storage path unusable — a full panic on `panic_on_oops` systems." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/scsi/qla2xxx/qla_nvme.c" ], "versions": [ { "version": "8777e4314d397c4e3615dc02fe8537e571e3922f", "lessThan": "549aac9655320c9b245a24271b204668c5d40430", "status": "affected", "versionType": "git" }, { "version": "8777e4314d397c4e3615dc02fe8537e571e3922f", "lessThan": "e1f010844443c389bc552884ac5cfa47de34d54c", "status": "affected", "versionType": "git" }, { "version": "8777e4314d397c4e3615dc02fe8537e571e3922f", "lessThan": "a3ab508a4853a9f5ae25a7816a4889f09938f63c", "status": "affected", "versionType": "git" }, { "version": "8777e4314d397c4e3615dc02fe8537e571e3922f", "lessThan": "cde43031df533751b4ead37d173922feee2f550f", "status": "affected", "versionType": "git" }, { "version": "8777e4314d397c4e3615dc02fe8537e571e3922f", "lessThan": "7cec2c3bfe84539c415f5e16f989228eba1d2f1e", "status": "affected", "versionType": "git" }, { "version": "8777e4314d397c4e3615dc02fe8537e571e3922f", "lessThan": "f6be298cc1042f24d521197af29c7c4eb95af4d5", "status": "affected", "versionType": "git" }, { "version": "8777e4314d397c4e3615dc02fe8537e571e3922f", "lessThan": "3eac973eb5cb2b874b3918f924798afc5affd46b", "status": "affected", "versionType": "git" }, { "version": "8777e4314d397c4e3615dc02fe8537e571e3922f", "lessThan": "eb1d4ce2609584eeb7694866f34d4b213caa3af9", "status": "affected", "versionType": "git" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/scsi/qla2xxx/qla_nvme.c" ], "versions": [ { "version": "4.19", "status": "affected" }, { "version": "0", "lessThan": "4.19", "status": "unaffected", "versionType": "semver" }, { "version": "4.19.320", "lessThanOrEqual": "4.19.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.4.282", "lessThanOrEqual": "5.4.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.10.224", "lessThanOrEqual": "5.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.165", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.103", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.44", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.10.3", "lessThanOrEqual": "6.10.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.11", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.19", "versionEndExcluding": "4.19.320" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.19", "versionEndExcluding": "5.4.282" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.19", "versionEndExcluding": "5.10.224" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.19", "versionEndExcluding": "5.15.165" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.19", "versionEndExcluding": "6.1.103" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.19", "versionEndExcluding": "6.6.44" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.19", "versionEndExcluding": "6.10.3" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.19", "versionEndExcluding": "6.11" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/549aac9655320c9b245a24271b204668c5d40430" }, { "url": "https://git.kernel.org/stable/c/e1f010844443c389bc552884ac5cfa47de34d54c" }, { "url": "https://git.kernel.org/stable/c/a3ab508a4853a9f5ae25a7816a4889f09938f63c" }, { "url": "https://git.kernel.org/stable/c/cde43031df533751b4ead37d173922feee2f550f" }, { "url": "https://git.kernel.org/stable/c/7cec2c3bfe84539c415f5e16f989228eba1d2f1e" }, { "url": "https://git.kernel.org/stable/c/f6be298cc1042f24d521197af29c7c4eb95af4d5" }, { "url": "https://git.kernel.org/stable/c/3eac973eb5cb2b874b3918f924798afc5affd46b" }, { "url": "https://git.kernel.org/stable/c/eb1d4ce2609584eeb7694866f34d4b213caa3af9" } ], "title": "scsi: qla2xxx: validate nvme_local_port correctly", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "metrics": [ { "other": { "type": "ssvc", "content": { "id": "CVE-2024-42286", "role": "CISA Coordinator", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "version": "2.0.3", "timestamp": "2024-09-10T16:11:20.265559Z" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2024-09-12T17:33:30.367Z" } }, { "title": "CVE Program Container", "references": [ { "url": "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html" }, { "url": "https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html" } ], "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2025-11-03T22:03:35.011Z" } } ] } }