CVE-2026-89483 (GCVE-0-2026-89483)
Vulnerability from cvelistv5 – Published: 2026-09-11 19:43 – Updated: 2026-10-19 08:47| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
530436c45ef2e446c12538a400e465929a0b3ade , < 76139b5bbf531e675934b97227be3521c7fdd537
(git)
Affected: 530436c45ef2e446c12538a400e465929a0b3ade , < 3f84d2bd0d8ae8c7e8e0f8fc3cbf018a282971a1 (git) Affected: 530436c45ef2e446c12538a400e465929a0b3ade , < 415f2772ebcbc7f3f1ab1a71915dab82cee3465e (git) Affected: 530436c45ef2e446c12538a400e465929a0b3ade , < 66b5af23b6f956e57f8205c46aa80b054631be34 (git) Affected: 530436c45ef2e446c12538a400e465929a0b3ade , < dc4d4b70a863f7e39ef8bd137634be4e6db8b084 (git) Affected: 530436c45ef2e446c12538a400e465929a0b3ade , < 67551d8430df94c827e1830bd3a5fae1f66a5219 (git) Affected: 530436c45ef2e446c12538a400e465929a0b3ade , < f5827817b4fc7feeabf4f53fb4b626e6edc52fef (git) Affected: 530436c45ef2e446c12538a400e465929a0b3ade , < bededeaaeff404978a5a8e2a605a6c3017cddd3e (git) Affected: ffa56cbdd2409b522b4cb56461bea1c45889417b (git) Affected: 8b0acb768a06083b0d28bace1481c1f6679e76f4 (git) Affected: 4.19.92 , < 4.20 (semver) Affected: 5.4.7 , < 5.5 (semver) |
guessed | |
| Linux | Linux |
Affected:
5.5
Unaffected: 0 , < 5.5 (semver) Unaffected: 5.10.270 , ≤ 5.10.* (semver) Unaffected: 5.15.221 , ≤ 5.15.* (semver) Unaffected: 6.1.188 , ≤ 6.1.* (semver) Unaffected: 6.6.157 , ≤ 6.6.* (semver) Unaffected: 6.12.109 , ≤ 6.12.* (semver) Unaffected: 6.18.50 , ≤ 6.18.* (semver) Unaffected: 7.2.4 , ≤ 7.2.* (semver) Unaffected: 7.3 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-89483",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-16T19:22:40.450387Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-16T19:26:39.989Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/nvme/host/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "76139b5bbf531e675934b97227be3521c7fdd537",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "3f84d2bd0d8ae8c7e8e0f8fc3cbf018a282971a1",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "415f2772ebcbc7f3f1ab1a71915dab82cee3465e",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "66b5af23b6f956e57f8205c46aa80b054631be34",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "dc4d4b70a863f7e39ef8bd137634be4e6db8b084",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "67551d8430df94c827e1830bd3a5fae1f66a5219",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "f5827817b4fc7feeabf4f53fb4b626e6edc52fef",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "bededeaaeff404978a5a8e2a605a6c3017cddd3e",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"status": "affected",
"version": "ffa56cbdd2409b522b4cb56461bea1c45889417b",
"versionType": "git"
},
{
"status": "affected",
"version": "8b0acb768a06083b0d28bace1481c1f6679e76f4",
"versionType": "git"
},
{
"lessThan": "4.20",
"status": "affected",
"version": "4.19.92",
"versionType": "semver"
},
{
"lessThan": "5.5",
"status": "affected",
"version": "5.4.7",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/nvme/host/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.5"
},
{
"lessThan": "5.5",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.270",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.221",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.188",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.157",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.109",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.50",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.4",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.270",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.221",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.188",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.157",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.109",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.50",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2.4",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.19.92",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.4.7",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnvme: zero the discard fallback page\n\nnvme_setup_discard() always maps sizeof(struct nvme_dsm_range) *\nNVME_DSM_MAX_RANGES = 4096 bytes as the DSM payload however many ranges\nthe command declares, because some devices ignore the \u0027Number of Ranges\u0027\nfield - the Fixes: commit records two that read past the declared ranges.\nA single-range discard fills only the first 16 bytes.\n\nNormally the buffer comes from kzalloc() and the other 4080 bytes are\nzero. When that allocation fails the code falls back to the\nper-controller ctrl-\u003ediscard_page, which nvme_init_ctrl() obtains with\nalloc_page(GFP_KERNEL) and nothing ever zeroes, so those 4080 bytes are\nwhatever the page last held and are handed to the controller. Reaching\nit requires the kzalloc(GFP_ATOMIC | __GFP_NOWARN) to fail, that is\nmemory pressure; it is not remotely triggerable. Failing the allocation\nunder KMSAN reproduces it, with the leaked tail full of vmemmap struct\npage pointers. The extent in the report is a partial transfer of the\npayload, not the whole 4096 bytes; the 16-byte boundary in it is the one\ndeclared range:\n\n[ 11.991601] BUG: KMSAN: uninit-value in dma_map_phys+0x14c8/0x1900\n[ 11.991969] dma_map_phys+0x14c8/0x1900\n[ 11.992220] dma_map_page_attrs+0xcf/0x130\n[ 11.992485] e1000_xmit_frame+0x4099/0x6d10\n[ 11.992768] dev_hard_start_xmit+0x22f/0xa80\n[ 11.993068] sch_direct_xmit+0x35c/0xcb0\n[ 11.993315] __dev_queue_xmit+0x1ee5/0x5eb0\n[ 11.993608] ip_finish_output2+0x1903/0x1c30\n[ 11.993881] ip_finish_output+0x288/0x870\n[ 11.994125] ip_output+0x15e/0x400\n[ 11.994365] __ip_queue_xmit+0x1e85/0x1fb0\n[ 11.994639] ip_queue_xmit+0x60/0x80\n[ 11.994899] __tcp_transmit_skb+0x4e71/0x5fa0\n[ 11.995210] tcp_write_xmit+0x3a36/0x9160\n[ 11.995533] __tcp_push_pending_frames+0xc5/0x3c0\n[ 11.995854] tcp_push+0x7dc/0x840\n[ 11.996076] tcp_sendmsg_locked+0x766c/0x8400\n[ 11.996371] tcp_sendmsg+0x4b/0x90\n[ 11.996572] inet_sendmsg+0x134/0x2a0\n[ 11.996823] __sock_sendmsg+0x265/0x360\n[ 11.997076] sock_sendmsg+0x100/0x1e0\n[ 11.997293] nvme_tcp_try_send+0x196f/0x6370\n[ 11.997605] nvme_tcp_queue_rq+0x1d54/0x20b0\n[ 11.997882] blk_mq_dispatch_rq_list+0x5ee/0x2e50\n[ 11.998175] __blk_mq_sched_dispatch_requests+0x16dc/0x24a0\n[ 11.998539] blk_mq_sched_dispatch_requests+0x11b/0x2c0\n[ 11.998865] blk_mq_run_work_fn+0x13b/0x280\n[ 11.999146] process_scheduled_works+0x966/0x1ad0\n[ 11.999465] worker_thread+0xe44/0x1480\n[ 11.999709] kthread+0x53b/0x600\n[ 11.999927] ret_from_fork+0x29f/0x7c0\n[ 12.000191] ret_from_fork_asm+0x1a/0x30\n[ 12.000460]\n[ 12.000558] Uninit was created at:\n[ 12.000788] __alloc_frozen_pages_noprof+0x8bf/0xd30\n[ 12.001096] alloc_pages_mpol+0x1d0/0x5f0\n[ 12.001326] alloc_pages_noprof+0x102/0x290\n[ 12.001627] nvme_init_ctrl+0x5a3/0x9f0\n[ 12.001891] nvme_tcp_create_ctrl+0xd75/0x19b0\n[ 12.002170] nvmf_dev_write+0x4c68/0x4fd0\n[ 12.002426] vfs_write+0x587/0x1a10\n[ 12.002636] __x64_sys_write+0x207/0x4f0\n[ 12.002874] x64_sys_call+0x2ff0/0x3ea0\n[ 12.003123] do_syscall_64+0x147/0x3b0\n[ 12.003400] entry_SYSCALL_64_after_hwframe+0x77/0x7f\n[ 12.003680]\n[ 12.003777] Bytes 16-2843 of 2844 are uninitialized\n[ 12.004068] Memory access of size 2844 starts at ffff888109f82000\n[ 12.004412]\n[ 12.004530] CPU: 0 UID: 0 PID: 101 Comm: kworker/0:1H Not tainted 7.2.0-rc5-NVMECTL-gf5098b6bae76 #1 PREEMPT(lazy)\n[ 12.005127] Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014\n[ 12.005762] Workqueue: kblockd blk_mq_run_work_fn\n[ 12.006073] =====================================================\n\nAllocate the page with __GFP_ZERO. The single allocation site covers\nevery use of it: bytes no discard has written stay zero, and bytes one\ndid write hold that controller\u0027s own range list, which it has already\nbeen sent."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:N - nvme_setup_discard() DMA-maps a 4096-byte DSM buffer that nvme-tcp (KMSAN: nvme_tcp_try_send), nvme-rdma, and nvme-fc transmit to the remote controller, so a malicious NVMe-oF target on the storage fabric receives the leftover kernel page.\nAC:L - The fallback is used when kzalloc(GFP_ATOMIC|__GFP_NOWARN) fails; a fabric peer can drive watermarks with high queue-depth I/O while discards run and retry until discard_page is used, with no race or unknown layout required.\nPR:N - A compromised NVMe-oF target needs no Linux account or capability on the initiator; once the host is attached to fabric storage, DSM payloads are sent without further local authorization.\nUI:N - REQ_OP_DISCARD is issued automatically by mount-discard, fstrim timers, hole-punch, and thin-provision UNMAP during normal operation once an NVMe controller exists; no extra victim mount or click is required at exploit time.\nS:U - The disclosure is host kernel memory to the NVMe controller/peer within the same kernel authority and is not a VM escape, IOMMU bypass, or other cross-boundary scope change.\nC:H - nvme_init_ctrl() allocated discard_page with alloc_page(GFP_KERNEL) and no __GFP_ZERO, so up to 4080 bytes of stale buddy-page contents (KMSAN showed kernel/vmemmap pointers) are sent in the DSM payload, a page-sized leak rather than a few bounded bytes.\nI:N - The flaw only transmits leftover page bytes to the controller; it does not overwrite kernel objects, provide a write primitive, or enable control-flow hijacking.\nA:N - DMA/send of the uninitialized DSM padding completes without oops, panic, or hang; the KMSAN uninit-value report is a sanitizer finding on the transmit path, not a host denial of service."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-19T08:47:33.684Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/76139b5bbf531e675934b97227be3521c7fdd537"
},
{
"url": "https://git.kernel.org/stable/c/3f84d2bd0d8ae8c7e8e0f8fc3cbf018a282971a1"
},
{
"url": "https://git.kernel.org/stable/c/415f2772ebcbc7f3f1ab1a71915dab82cee3465e"
},
{
"url": "https://git.kernel.org/stable/c/66b5af23b6f956e57f8205c46aa80b054631be34"
},
{
"url": "https://git.kernel.org/stable/c/dc4d4b70a863f7e39ef8bd137634be4e6db8b084"
},
{
"url": "https://git.kernel.org/stable/c/67551d8430df94c827e1830bd3a5fae1f66a5219"
},
{
"url": "https://git.kernel.org/stable/c/f5827817b4fc7feeabf4f53fb4b626e6edc52fef"
},
{
"url": "https://git.kernel.org/stable/c/bededeaaeff404978a5a8e2a605a6c3017cddd3e"
}
],
"title": "nvme: zero the discard fallback page",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-89483",
"datePublished": "2026-09-11T19:43:38.076Z",
"dateReserved": "2026-09-11T19:38:34.712Z",
"dateUpdated": "2026-10-19T08:47:33.684Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-89483",
"date": "2026-11-08",
"epss": "0.00571",
"percentile": "0.47487"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/nvme/host/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "76139b5bbf531e675934b97227be3521c7fdd537",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "3f84d2bd0d8ae8c7e8e0f8fc3cbf018a282971a1",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "415f2772ebcbc7f3f1ab1a71915dab82cee3465e",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "66b5af23b6f956e57f8205c46aa80b054631be34",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "dc4d4b70a863f7e39ef8bd137634be4e6db8b084",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "67551d8430df94c827e1830bd3a5fae1f66a5219",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "f5827817b4fc7feeabf4f53fb4b626e6edc52fef",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "bededeaaeff404978a5a8e2a605a6c3017cddd3e",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"status": "affected",
"version": "ffa56cbdd2409b522b4cb56461bea1c45889417b",
"versionType": "git"
},
{
"status": "affected",
"version": "8b0acb768a06083b0d28bace1481c1f6679e76f4",
"versionType": "git"
},
{
"lessThan": "4.20",
"status": "affected",
"version": "4.19.92",
"versionType": "semver"
},
{
"lessThan": "5.5",
"status": "affected",
"version": "5.4.7",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/nvme/host/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.5"
},
{
"lessThan": "5.5",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.270",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.221",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.188",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.157",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.109",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.50",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.4",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnvme: zero the discard fallback page\n\nnvme_setup_discard() always maps sizeof(struct nvme_dsm_range) *\nNVME_DSM_MAX_RANGES = 4096 bytes as the DSM payload however many ranges\nthe command declares, because some devices ignore the \u0027Number of Ranges\u0027\nfield - the Fixes: commit records two that read past the declared ranges.\nA single-range discard fills only the first 16 bytes.\n\nNormally the buffer comes from kzalloc() and the other 4080 bytes are\nzero. When that allocation fails the code falls back to the\nper-controller ctrl-\u003ediscard_page, which nvme_init_ctrl() obtains with\nalloc_page(GFP_KERNEL) and nothing ever zeroes, so those 4080 bytes are\nwhatever the page last held and are handed to the controller. Reaching\nit requires the kzalloc(GFP_ATOMIC | __GFP_NOWARN) to fail, that is\nmemory pressure; it is not remotely triggerable. Failing the allocation\nunder KMSAN reproduces it, with the leaked tail full of vmemmap struct\npage pointers. The extent in the report is a partial transfer of the\npayload, not the whole 4096 bytes; the 16-byte boundary in it is the one\ndeclared range:\n\n[ 11.991601] BUG: KMSAN: uninit-value in dma_map_phys+0x14c8/0x1900\n[ 11.991969] dma_map_phys+0x14c8/0x1900\n[ 11.992220] dma_map_page_attrs+0xcf/0x130\n[ 11.992485] e1000_xmit_frame+0x4099/0x6d10\n[ 11.992768] dev_hard_start_xmit+0x22f/0xa80\n[ 11.993068] sch_direct_xmit+0x35c/0xcb0\n[ 11.993315] __dev_queue_xmit+0x1ee5/0x5eb0\n[ 11.993608] ip_finish_output2+0x1903/0x1c30\n[ 11.993881] ip_finish_output+0x288/0x870\n[ 11.994125] ip_output+0x15e/0x400\n[ 11.994365] __ip_queue_xmit+0x1e85/0x1fb0\n[ 11.994639] ip_queue_xmit+0x60/0x80\n[ 11.994899] __tcp_transmit_skb+0x4e71/0x5fa0\n[ 11.995210] tcp_write_xmit+0x3a36/0x9160\n[ 11.995533] __tcp_push_pending_frames+0xc5/0x3c0\n[ 11.995854] tcp_push+0x7dc/0x840\n[ 11.996076] tcp_sendmsg_locked+0x766c/0x8400\n[ 11.996371] tcp_sendmsg+0x4b/0x90\n[ 11.996572] inet_sendmsg+0x134/0x2a0\n[ 11.996823] __sock_sendmsg+0x265/0x360\n[ 11.997076] sock_sendmsg+0x100/0x1e0\n[ 11.997293] nvme_tcp_try_send+0x196f/0x6370\n[ 11.997605] nvme_tcp_queue_rq+0x1d54/0x20b0\n[ 11.997882] blk_mq_dispatch_rq_list+0x5ee/0x2e50\n[ 11.998175] __blk_mq_sched_dispatch_requests+0x16dc/0x24a0\n[ 11.998539] blk_mq_sched_dispatch_requests+0x11b/0x2c0\n[ 11.998865] blk_mq_run_work_fn+0x13b/0x280\n[ 11.999146] process_scheduled_works+0x966/0x1ad0\n[ 11.999465] worker_thread+0xe44/0x1480\n[ 11.999709] kthread+0x53b/0x600\n[ 11.999927] ret_from_fork+0x29f/0x7c0\n[ 12.000191] ret_from_fork_asm+0x1a/0x30\n[ 12.000460]\n[ 12.000558] Uninit was created at:\n[ 12.000788] __alloc_frozen_pages_noprof+0x8bf/0xd30\n[ 12.001096] alloc_pages_mpol+0x1d0/0x5f0\n[ 12.001326] alloc_pages_noprof+0x102/0x290\n[ 12.001627] nvme_init_ctrl+0x5a3/0x9f0\n[ 12.001891] nvme_tcp_create_ctrl+0xd75/0x19b0\n[ 12.002170] nvmf_dev_write+0x4c68/0x4fd0\n[ 12.002426] vfs_write+0x587/0x1a10\n[ 12.002636] __x64_sys_write+0x207/0x4f0\n[ 12.002874] x64_sys_call+0x2ff0/0x3ea0\n[ 12.003123] do_syscall_64+0x147/0x3b0\n[ 12.003400] entry_SYSCALL_64_after_hwframe+0x77/0x7f\n[ 12.003680]\n[ 12.003777] Bytes 16-2843 of 2844 are uninitialized\n[ 12.004068] Memory access of size 2844 starts at ffff888109f82000\n[ 12.004412]\n[ 12.004530] CPU: 0 UID: 0 PID: 101 Comm: kworker/0:1H Not tainted 7.2.0-rc5-NVMECTL-gf5098b6bae76 #1 PREEMPT(lazy)\n[ 12.005127] Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014\n[ 12.005762] Workqueue: kblockd blk_mq_run_work_fn\n[ 12.006073] =====================================================\n\nAllocate the page with __GFP_ZERO. The single allocation site covers\nevery use of it: bytes no discard has written stay zero, and bytes one\ndid write hold that controller\u0027s own range list, which it has already\nbeen sent."
}
],
"id": "CVE-2026-89483",
"lastModified": "2026-10-19T09:17:41.727",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"version": "3.1"
},
"exploitabilityScore": 3.9,
"impactScore": 3.6,
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary"
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-89483",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-16T19:22:40.450387Z",
"version": "2.0.3"
}
}
]
},
"published": "2026-09-11T20:19:29.880",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/3f84d2bd0d8ae8c7e8e0f8fc3cbf018a282971a1"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/415f2772ebcbc7f3f1ab1a71915dab82cee3465e"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/66b5af23b6f956e57f8205c46aa80b054631be34"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/67551d8430df94c827e1830bd3a5fae1f66a5219"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/76139b5bbf531e675934b97227be3521c7fdd537"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/bededeaaeff404978a5a8e2a605a6c3017cddd3e"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/dc4d4b70a863f7e39ef8bd137634be4e6db8b084"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/f5827817b4fc7feeabf4f53fb4b626e6edc52fef"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Received"
}
},
"redhat_vex": {
"aggregate_severity": "Moderate",
"current_release_date": "2026-11-06T01:16:01+00:00",
"cve": "CVE-2026-89483",
"id": "CVE-2026-89483",
"initial_release_date": "2026-09-11T00:00:00+00:00",
"product_status:known_affected": "161",
"product_status:known_not_affected": "42",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: nvme: zero the discard fallback page",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89483.json",
"version": "3"
},
"vulnrichment": {
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-89483",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-16T19:22:40.450387Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-16T19:22:41.411Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/nvme/host/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "76139b5bbf531e675934b97227be3521c7fdd537",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "3f84d2bd0d8ae8c7e8e0f8fc3cbf018a282971a1",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "415f2772ebcbc7f3f1ab1a71915dab82cee3465e",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "66b5af23b6f956e57f8205c46aa80b054631be34",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "dc4d4b70a863f7e39ef8bd137634be4e6db8b084",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "67551d8430df94c827e1830bd3a5fae1f66a5219",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "f5827817b4fc7feeabf4f53fb4b626e6edc52fef",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"lessThan": "bededeaaeff404978a5a8e2a605a6c3017cddd3e",
"status": "affected",
"version": "530436c45ef2e446c12538a400e465929a0b3ade",
"versionType": "git"
},
{
"status": "affected",
"version": "ffa56cbdd2409b522b4cb56461bea1c45889417b",
"versionType": "git"
},
{
"status": "affected",
"version": "8b0acb768a06083b0d28bace1481c1f6679e76f4",
"versionType": "git"
},
{
"lessThan": "4.20",
"status": "affected",
"version": "4.19.92",
"versionType": "semver"
},
{
"lessThan": "5.5",
"status": "affected",
"version": "5.4.7",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/nvme/host/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.5"
},
{
"lessThan": "5.5",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.270",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.221",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.188",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.157",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.109",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.50",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.4",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.270",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.221",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.188",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.157",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.109",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.50",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2.4",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3",
"versionStartIncluding": "5.5",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.19.92",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.4.7",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnvme: zero the discard fallback page\n\nnvme_setup_discard() always maps sizeof(struct nvme_dsm_range) *\nNVME_DSM_MAX_RANGES = 4096 bytes as the DSM payload however many ranges\nthe command declares, because some devices ignore the \u0027Number of Ranges\u0027\nfield - the Fixes: commit records two that read past the declared ranges.\nA single-range discard fills only the first 16 bytes.\n\nNormally the buffer comes from kzalloc() and the other 4080 bytes are\nzero. When that allocation fails the code falls back to the\nper-controller ctrl-\u003ediscard_page, which nvme_init_ctrl() obtains with\nalloc_page(GFP_KERNEL) and nothing ever zeroes, so those 4080 bytes are\nwhatever the page last held and are handed to the controller. Reaching\nit requires the kzalloc(GFP_ATOMIC | __GFP_NOWARN) to fail, that is\nmemory pressure; it is not remotely triggerable. Failing the allocation\nunder KMSAN reproduces it, with the leaked tail full of vmemmap struct\npage pointers. The extent in the report is a partial transfer of the\npayload, not the whole 4096 bytes; the 16-byte boundary in it is the one\ndeclared range:\n\n[ 11.991601] BUG: KMSAN: uninit-value in dma_map_phys+0x14c8/0x1900\n[ 11.991969] dma_map_phys+0x14c8/0x1900\n[ 11.992220] dma_map_page_attrs+0xcf/0x130\n[ 11.992485] e1000_xmit_frame+0x4099/0x6d10\n[ 11.992768] dev_hard_start_xmit+0x22f/0xa80\n[ 11.993068] sch_direct_xmit+0x35c/0xcb0\n[ 11.993315] __dev_queue_xmit+0x1ee5/0x5eb0\n[ 11.993608] ip_finish_output2+0x1903/0x1c30\n[ 11.993881] ip_finish_output+0x288/0x870\n[ 11.994125] ip_output+0x15e/0x400\n[ 11.994365] __ip_queue_xmit+0x1e85/0x1fb0\n[ 11.994639] ip_queue_xmit+0x60/0x80\n[ 11.994899] __tcp_transmit_skb+0x4e71/0x5fa0\n[ 11.995210] tcp_write_xmit+0x3a36/0x9160\n[ 11.995533] __tcp_push_pending_frames+0xc5/0x3c0\n[ 11.995854] tcp_push+0x7dc/0x840\n[ 11.996076] tcp_sendmsg_locked+0x766c/0x8400\n[ 11.996371] tcp_sendmsg+0x4b/0x90\n[ 11.996572] inet_sendmsg+0x134/0x2a0\n[ 11.996823] __sock_sendmsg+0x265/0x360\n[ 11.997076] sock_sendmsg+0x100/0x1e0\n[ 11.997293] nvme_tcp_try_send+0x196f/0x6370\n[ 11.997605] nvme_tcp_queue_rq+0x1d54/0x20b0\n[ 11.997882] blk_mq_dispatch_rq_list+0x5ee/0x2e50\n[ 11.998175] __blk_mq_sched_dispatch_requests+0x16dc/0x24a0\n[ 11.998539] blk_mq_sched_dispatch_requests+0x11b/0x2c0\n[ 11.998865] blk_mq_run_work_fn+0x13b/0x280\n[ 11.999146] process_scheduled_works+0x966/0x1ad0\n[ 11.999465] worker_thread+0xe44/0x1480\n[ 11.999709] kthread+0x53b/0x600\n[ 11.999927] ret_from_fork+0x29f/0x7c0\n[ 12.000191] ret_from_fork_asm+0x1a/0x30\n[ 12.000460]\n[ 12.000558] Uninit was created at:\n[ 12.000788] __alloc_frozen_pages_noprof+0x8bf/0xd30\n[ 12.001096] alloc_pages_mpol+0x1d0/0x5f0\n[ 12.001326] alloc_pages_noprof+0x102/0x290\n[ 12.001627] nvme_init_ctrl+0x5a3/0x9f0\n[ 12.001891] nvme_tcp_create_ctrl+0xd75/0x19b0\n[ 12.002170] nvmf_dev_write+0x4c68/0x4fd0\n[ 12.002426] vfs_write+0x587/0x1a10\n[ 12.002636] __x64_sys_write+0x207/0x4f0\n[ 12.002874] x64_sys_call+0x2ff0/0x3ea0\n[ 12.003123] do_syscall_64+0x147/0x3b0\n[ 12.003400] entry_SYSCALL_64_after_hwframe+0x77/0x7f\n[ 12.003680]\n[ 12.003777] Bytes 16-2843 of 2844 are uninitialized\n[ 12.004068] Memory access of size 2844 starts at ffff888109f82000\n[ 12.004412]\n[ 12.004530] CPU: 0 UID: 0 PID: 101 Comm: kworker/0:1H Not tainted 7.2.0-rc5-NVMECTL-gf5098b6bae76 #1 PREEMPT(lazy)\n[ 12.005127] Hardware name: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, arch_caps fix, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014\n[ 12.005762] Workqueue: kblockd blk_mq_run_work_fn\n[ 12.006073] =====================================================\n\nAllocate the page with __GFP_ZERO. The single allocation site covers\nevery use of it: bytes no discard has written stay zero, and bytes one\ndid write hold that controller\u0027s own range list, which it has already\nbeen sent."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:N - nvme_setup_discard() DMA-maps a 4096-byte DSM buffer that nvme-tcp (KMSAN: nvme_tcp_try_send), nvme-rdma, and nvme-fc transmit to the remote controller, so a malicious NVMe-oF target on the storage fabric receives the leftover kernel page.\nAC:L - The fallback is used when kzalloc(GFP_ATOMIC|__GFP_NOWARN) fails; a fabric peer can drive watermarks with high queue-depth I/O while discards run and retry until discard_page is used, with no race or unknown layout required.\nPR:N - A compromised NVMe-oF target needs no Linux account or capability on the initiator; once the host is attached to fabric storage, DSM payloads are sent without further local authorization.\nUI:N - REQ_OP_DISCARD is issued automatically by mount-discard, fstrim timers, hole-punch, and thin-provision UNMAP during normal operation once an NVMe controller exists; no extra victim mount or click is required at exploit time.\nS:U - The disclosure is host kernel memory to the NVMe controller/peer within the same kernel authority and is not a VM escape, IOMMU bypass, or other cross-boundary scope change.\nC:H - nvme_init_ctrl() allocated discard_page with alloc_page(GFP_KERNEL) and no __GFP_ZERO, so up to 4080 bytes of stale buddy-page contents (KMSAN showed kernel/vmemmap pointers) are sent in the DSM payload, a page-sized leak rather than a few bounded bytes.\nI:N - The flaw only transmits leftover page bytes to the controller; it does not overwrite kernel objects, provide a write primitive, or enable control-flow hijacking.\nA:N - DMA/send of the uninitialized DSM padding completes without oops, panic, or hang; the KMSAN uninit-value report is a sanitizer finding on the transmit path, not a host denial of service."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-19T08:47:33.684Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/76139b5bbf531e675934b97227be3521c7fdd537"
},
{
"url": "https://git.kernel.org/stable/c/3f84d2bd0d8ae8c7e8e0f8fc3cbf018a282971a1"
},
{
"url": "https://git.kernel.org/stable/c/415f2772ebcbc7f3f1ab1a71915dab82cee3465e"
},
{
"url": "https://git.kernel.org/stable/c/66b5af23b6f956e57f8205c46aa80b054631be34"
},
{
"url": "https://git.kernel.org/stable/c/dc4d4b70a863f7e39ef8bd137634be4e6db8b084"
},
{
"url": "https://git.kernel.org/stable/c/67551d8430df94c827e1830bd3a5fae1f66a5219"
},
{
"url": "https://git.kernel.org/stable/c/f5827817b4fc7feeabf4f53fb4b626e6edc52fef"
},
{
"url": "https://git.kernel.org/stable/c/bededeaaeff404978a5a8e2a605a6c3017cddd3e"
}
],
"title": "nvme: zero the discard fallback page",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-89483",
"datePublished": "2026-09-11T19:43:38.076Z",
"dateReserved": "2026-09-11T19:38:34.712Z",
"dateUpdated": "2026-10-19T08:47:33.684Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
How durations are calculated
Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.
Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.