← Back to KEV catalog

CVE-2021-47178

Exploitation: none CVSS 7.5 HIGH

CVSS base score: 7.5 (High) vendor CNA · v3.1

Score assigned by the vendor's own CVE Numbering Authority (CNA); CISA's Vulnrichment program adds a score only when the CNA omits one. Vulnrichment source record →

Vendor: Linux   Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: scsi: target: core: Avoid smp_processor_id() in preemptible code The BUG message "BUG: using smp_processor_id() in preemptible [00000000] code" was observed for TCMU devices with kernel config DEBUG_PREEMPT. The message was observed when blktests block/005 was run on TCMU devices with fileio backend or user:zbc backend [1]. The commit 1130b499b4a7 ("scsi: target: tcm_loop: Use LIO wq cmd submission helper") triggered the symptom. The commit modified work queue to handle commands and changed 'current->nr_cpu_allowed' at smp_processor_id() call. The message was also observed at system shutdown when TCMU devices were not cleaned up [2]. The function smp_processor_id() was called in SCSI host work queue for abort handling, and triggered the BUG message. This symptom was observed regardless of the commit 1130b499b4a7 ("scsi: target: tcm_loop: Use LIO wq cmd submission helper"). To avoid the preemptible code check at smp_processor_id(), get CPU ID with raw_smp_processor_id() instead. The CPU ID is used for performance improvement then thread move to other CPU will not affect the code. [1] [ 56.468103] run blktests block/005 at 2021-05-12 14:16:38 [ 57.369473] check_preemption_disabled: 85 callbacks suppressed [ 57.369480] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1511 [ 57.369506] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1510 [ 57.369512] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1506 [ 57.369552] caller is __target_init_cmd+0x157/0x170 [target_core_mod] [ 57.369606] CPU: 4 PID: 1506 Comm: fio Not tainted 5.13.0-rc1+ #34 [ 57.369613] Hardware name: System manufacturer System Product Name/PRIME Z270-A, BIOS 1302 03/15/2018 [ 57.369617] Call Trace: [ 57.369621] BUG: using smp_processor_id() in preemptible [00000000] code: fio/1507 [ 57.369628] dump_stack+0x6d/0x89 [ 57.369642] check_preemption_disabled+0xc8/0xd0 [ 57.369628] caller is __target_init_cmd+0x157/0x170 [target_core_mod] [ 57.369655] __target_init_cmd+0x157/0x170 [target_core_mod] [ 57.369695] target_init_cmd+0x76/0x90 [target_core_mod] [ 57.369732] tcm_loop_queuecommand+0x109/0x210 [tcm_loop] [ 57.369744] scsi_queue_rq+0x38e/0xc40 [ 57.369761] __blk_mq_try_issue_directly+0x109/0x1c0 [ 57.369779] blk_mq_try_issue_directly+0x43/0x90 [ 57.369790] blk_mq_submit_bio+0x4e5/0x5d0 [ 57.369812] submit_bio_noacct+0x46e/0x4e0 [ 57.369830] __blkdev_direct_IO_simple+0x1a3/0x2d0 [ 57.369859] ? set_init_blocksize.isra.0+0x60/0x60 [ 57.369880] generic_file_read_iter+0x89/0x160 [ 57.369898] blkdev_read_iter+0x44/0x60 [ 57.369906] new_sync_read+0x102/0x170 [ 57.369929] vfs_read+0xd4/0x160 [ 57.369941] __x64_sys_pread64+0x6e/0xa0 [ 57.369946] ? lockdep_hardirqs_on+0x79/0x100 [ 57.369958] do_syscall_64+0x3a/0x70 [ 57.369965] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 57.369973] RIP: 0033:0x7f7ed4c1399f [ 57.369979] Code: 08 89 3c 24 48 89 4c 24 18 e8 7d f3 ff ff 4c 8b 54 24 18 48 8b 54 24 10 41 89 c0 48 8b 74 24 08 8b 3c 24 b8 11 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 31 44 89 c7 48 89 04 24 e8 cd f3 ff ff 48 8b [ 57.369983] RSP: 002b:00007ffd7918c580 EFLAGS: 00000293 ORIG_RAX: 0000000000000011 [ 57.369990] RAX: ffffffffffffffda RBX: 00000000015b4540 RCX: 00007f7ed4c1399f [ 57.369993] RDX: 0000000000001000 RSI: 00000000015de000 RDI: 0000000000000009 [ 57.369996] RBP: 00000000015b4540 R08: 0000000000000000 R09: 0000000000000001 [ 57.369999] R10: 0000000000e5c000 R11: 0000000000000293 R12: 00007f7eb5269a70 [ 57.370002] R13: 0000000000000000 R14: 0000000000001000 R15: 00000000015b4568 [ 57.370031] CPU: 7 PID: 1507 Comm: fio Not tainted 5.13.0-rc1+ #34 [ 57.370036] Hardware name: System manufacturer System Product Name/PRIME Z270-A, BIOS 1302 03/15/2018 [ 57.370039] Call Trace: [ 57.370045] dump_stack+0x6d/0x89 [ 57.370056] ch ---truncated---

Research & News Coverage

No mentions found in monitored research blogs or news feeds.

Referenced in Advisories

DateAdvisoryIssuer
2024-06-13 ICSA-24-165-06: Siemens TIM 1531 IRC CISA

Lifecycle Timeline

Each milestone comes from a different source, so gaps between them are gaps in what those sources publish, not evidence that nothing happened. EPSS history for this CVE holds 5 points from 2026-11-05, tracked daily from 2026-11-05; earlier points are weekly, which dates a spike to within a week. Peak probability 0.6% on 2026-11-05.

Published Applicability

Red Hat CSAF/VEX 58 affected · 120 fixed · 109 not affected
CVE List v5 (CNA container) 4 affected · 0 fixed · 3 not affected

Check whether a specific version is affected →

What each source publishes about which product versions carry this vulnerability, kept as written rather than merged. Absence here means no source has published applicability data, not that nothing is affected.

Detection & Exploitation

Scan
none published
Exploit / Pen Test
none published
Network IDS/IPS
none published
Host / SIEM
none published

Blind spot. No public detection — verify by version/patch. Nothing in the monitored scanner, IDS, SIEM or offensive-tool collections references this CVE, so exposure has to be established from asset inventory and patch level rather than from a signature.

Coverage across public collections only: Nuclei and OpenVAS NVT (scan); Snort and Suricata ET Open (network); Sigma and YARA (host/SIEM); Metasploit, Exploit-DB, public GitHub repositories and NVD exploit references (exploit). Absence here means nothing public was found, not that detection is impossible.
GitHub PoC repositories are collected automatically by PoC-in-GitHub (CC0) and filtered to repositories that are still online, contain code, and are starred or at least two weeks old. They are still not vetted: some are fakes and some are malware. Treat them as evidence that code was published, not as code to run.
NVD exploit references are links NVD's analysts tag as exploits; they confirm an exploit was referenced but carry no date. This product uses data from the NVD but is not endorsed or certified by the NVD.
OpenVAS coverage derives from the Greenbone Community Feed, made available under the Open Database License (ODbL) v1.0; its individual Vulnerability Tests are licensed GNU GPL v2.

No exploit-tool sightings recorded for this CVE.

Metasploit is dated by the first commit of the module file, Exploit-DB by its publication date, and GitHub repositories by their creation date. GitHub PoC repositories are filtered (still online, contain code, starred or at least two weeks old) but not vetted: some are fakes and some are malware, so they show that code was published, not that it works or is safe to run. Evidence tiers are explained on the About page.

Distribution Status

Debian · linux bookworm trixie forky sid scope: local

Where the distribution has shipped a fix, and in which version. Green means the release has resolved it, amber that it is still open. Data from the Debian Security Tracker, used under Debian's MIT / GPLv2+ terms. Debian is upstream of several other distributions, so a fix here often precedes theirs.

CISA Assessment (Vulnrichment / SSVC)

none
no
partial
—
7.5 HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
2024-09-11

Federal Remediation Window (BOD 26-04)

No
no
partial control
If the asset isRemediate withinTable 1 row
Publicly exposed 60 days 8 of 16
Not publicly exposed Fix on system upgrade 16 of 16

BOD 26-04 replaced the single KEV deadline of BOD 22-01 with four inputs: whether the asset is publicly exposed, KEV status, whether exploitation is automatable, and technical impact. Exposure belongs to each agency's asset, not to the CVE, so both outcomes are shown. Automatable and technical impact come from the CISA assessment above. Days are calendar days; for KEV entries the clock starts on the date it was added, and otherwise when the agency identifies the vulnerability on an asset. Agencies make the final exposure call asset by asset, and may set shorter timelines.

External References