Files
vuln-cve/data/2022/48xxx/CVE-2022-48658.json
T

221 lines
12 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2022-48658",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2024-02-25T13:44:28.317Z",
"datePublished": "2024-04-28T13:01:12.987Z",
"dateUpdated": "2026-08-05T08:51:39.776Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T08:51:39.776Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context.\n\nCommit 5a836bf6b09f (\"mm: slub: move flush_cpu_slab() invocations\n__free_slab() invocations out of IRQ context\") moved all flush_cpu_slab()\ninvocations to the global workqueue to avoid a problem related\nwith deactivate_slab()/__free_slab() being called from an IRQ context\non PREEMPT_RT kernels.\n\nWhen the flush_all_cpu_locked() function is called from a task context\nit may happen that a workqueue with WQ_MEM_RECLAIM bit set ends up\nflushing the global workqueue, this will cause a dependency issue.\n\n workqueue: WQ_MEM_RECLAIM nvme-delete-wq:nvme_delete_ctrl_work [nvme_core]\n is flushing !WQ_MEM_RECLAIM events:flush_cpu_slab\n WARNING: CPU: 37 PID: 410 at kernel/workqueue.c:2637\n check_flush_dependency+0x10a/0x120\n Workqueue: nvme-delete-wq nvme_delete_ctrl_work [nvme_core]\n RIP: 0010:check_flush_dependency+0x10a/0x120[ 453.262125] Call Trace:\n __flush_work.isra.0+0xbf/0x220\n ? __queue_work+0x1dc/0x420\n flush_all_cpus_locked+0xfb/0x120\n __kmem_cache_shutdown+0x2b/0x320\n kmem_cache_destroy+0x49/0x100\n bioset_exit+0x143/0x190\n blk_release_queue+0xb9/0x100\n kobject_cleanup+0x37/0x130\n nvme_fc_ctrl_free+0xc6/0x150 [nvme_fc]\n nvme_free_ctrl+0x1ac/0x2b0 [nvme_core]\n\nFix this bug by creating a workqueue for the flush operation with\nthe WQ_MEM_RECLAIM bit set."
}
],
"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 documented trigger is NVMe controller teardown on nvme-delete-wq; over NVMe-TCP/RDMA a remote fabric peer can force reconnect exhaustion and nvme_delete_ctrl(), reaching kmem_cache_destroy→flush_all_cpus_locked without local access.\nAC:L - A peer that drops the connection and refuses reconnects deterministically drives controller deletion into flush_all_cpus_locked’s schedule_work_on(system_wq)+flush_work path; no race or attacker-uncontrollable layout is required.\nPR:N - Teardown is driven by remote transport/reconnect-failure events on an already-configured NVMe-oF link; the peer needs no local account or capabilities on the vulnerable host.\nUI:N - Reconnect and delete run from kernel workqueues after the peer-driven disconnect; no victim user action is required.\nS:U - The WARN and potential reclaim deadlock stay inside the host kernel’s workqueue/SLUB paths and do not cross a VM, IOMMU, or other security-authority boundary.\nC:N - This is only an illegal WQ_MEM_RECLAIM→!WQ_MEM_RECLAIM flush dependency; there is no UAF, OOB read, or other disclosure primitive.\nI:N - No out-of-bounds write, UAF, or other memory corruption occurs—flush behavior is otherwise correct—so there is no integrity or code-execution impact.\nA:H - check_flush_dependency() issues WARN_ONCE (panic under panic_on_warn), and the flagged condition is a real deadlock risk: a WQ_MEM_RECLAIM worker blocking on rescuer-less system_wq under memory pressure."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"mm/slub.c"
],
"versions": [
{
"version": "5a836bf6b09f99ead1b69457ff39ab3011ece57b",
"lessThan": "61703b248be993eb4997b00ae5d3318e6d8f3c5b",
"status": "affected",
"versionType": "git"
},
{
"version": "5a836bf6b09f99ead1b69457ff39ab3011ece57b",
"lessThan": "df6cb39335cf5a1b918e8dbd8ba7cd9f1d00e45a",
"status": "affected",
"versionType": "git"
},
{
"version": "5a836bf6b09f99ead1b69457ff39ab3011ece57b",
"lessThan": "e45cc288724f0cfd497bb5920bcfa60caa335729",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"mm/slub.c"
],
"versions": [
{
"version": "5.15",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.15",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.15.71",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.19.12",
"lessThanOrEqual": "5.19.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.0",
"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": "5.15",
"versionEndExcluding": "5.15.71"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.15",
"versionEndExcluding": "5.19.12"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.15",
"versionEndExcluding": "6.0"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/61703b248be993eb4997b00ae5d3318e6d8f3c5b"
},
{
"url": "https://git.kernel.org/stable/c/df6cb39335cf5a1b918e8dbd8ba7cd9f1d00e45a"
},
{
"url": "https://git.kernel.org/stable/c/e45cc288724f0cfd497bb5920bcfa60caa335729"
}
],
"title": "mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context.",
"x_generator": {
"engine": "bippy-1.2.0"
}
},
"adp": [
{
"providerMetadata": {
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE",
"dateUpdated": "2024-08-03T15:17:55.669Z"
},
"title": "CVE Program Container",
"references": [
{
"url": "https://git.kernel.org/stable/c/61703b248be993eb4997b00ae5d3318e6d8f3c5b",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/df6cb39335cf5a1b918e8dbd8ba7cd9f1d00e45a",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/e45cc288724f0cfd497bb5920bcfa60caa335729",
"tags": [
"x_transferred"
]
}
]
},
{
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"id": "CVE-2022-48658",
"role": "CISA Coordinator",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2024-09-10T15:46:04.814997Z"
}
}
}
],
"title": "CISA ADP Vulnrichment",
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2024-09-11T17:33:55.526Z"
}
}
]
}
}