Vulnerability in Linux kernel (CVE-2021-47069)
Summary
Vulnerability in Linux kernel (CVE-2021-47069). Successful exploitation can lead to full system takeover. Exploitable via ewq_addr.
Original description
The description as published by the source.
In the Linux kernel, the following vulnerability has been resolved:
ipc/mqueue, msg, sem: avoid relying on a stack reference past its expiry
do_mq_timedreceive calls wq_sleep with a stack local address. The
sender (do_mq_timedsend) uses this address to later call pipelined_send.
This leads to a very hard to trigger race where a do_mq_timedreceive
call might return and leave do_mq_timedsend to rely on an invalid
address, causing the following crash:
RIP: 0010:wake_q_add_safe+0x13/0x60
Call Trace:
__x64_sys_mq_timedsend+0x2a9/0x490
do_syscall_64+0x80/0x680
entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x7f5928e40343
The race occurs as:
-
do_mq_timedreceive calls wq_sleep with the address of
struct ext_wait_queueon function stack (aliased asewq_addrhere) - it
holds a validstruct ext_wait_queue *as long as the stack has not
been overwritten. -
ewq_addrgets added to info->e_wait_q[RECV].list in wq_add, and
do_mq_timedsend receives it via wq_get_first_waiter(info, RECV) to call
__pipelined_op. -
Sender calls __pipelined_op::smp_store_release(&this->state,
STATE_READY). Here is where the race window begins. (thisis
ewq_addr.) -
If the receiver wakes up now in do_mq_timedreceive::wq_sleep, it
will seestate == STATE_READYand break. -
do_mq_timedreceive returns, and
ewq_addris no longer guaranteed
to be astruct ext_wait_queue *since it was on do_mq_timedreceive's
stack. (Although the addr…
Source: NIST National Vulnerability Database NVD
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2021-47069 has been found in Linux kernel.
Attackers can target a specific entry point like ewq_addr over the network to misuse the product.
Successful exploitation can lead to full system takeover. CVSS score: 7.8/10.
What to do: apply the vendor's official patched release.
If unsure, ask your IT team or search "Linux kernel CVE-2021-47069" on the vendor's site.
CVE-2021-47069 (Linux kernel) — CWE-672 / CVSS v3 7.8
Attack vector: local / no user interaction
Attack surface: ewq_addr / this
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-672) exists in Linux kernel. Attackers reach the vulnerable code path via ewq_addr.
Check the vendor advisory for the affected versions of Linux kernel. Attack surface: ewq_addr / this.
Severity: High (CVSS 7.8/10). Successful exploitation can lead to full system takeover.
Update to the patched release per vendor advisory.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Audit SBOM/dependencies to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
Audit SBOM/dependencies for affected components.資産台帳・SBOM・依存マニフェストで Linux kernel を使っているサービスとバージョンを洗い出す。
-
2Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2021-47069 linux Fixed in: 5.10.40-1
- Ubuntu UBUNTU-CVE-2021-47069 linux-hwe-edge
References
- patch git.kernel.org
- patch git.kernel.org
- patch git.kernel.org