Categories
CVE-2021-47069 high CVSS 7.8

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:

  1. do_mq_timedreceive calls wq_sleep with the address of struct ext_wait_queue on function stack (aliased as ewq_addr here) - it
    holds a valid struct ext_wait_queue * as long as the stack has not
    been overwritten.

  2. ewq_addr gets 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.

  3. Sender calls __pipelined_op::smp_store_release(&this->state,
    STATE_READY). Here is where the race window begins. (this is
    ewq_addr.)

  4. If the receiver wakes up now in do_mq_timedreceive::wq_sleep, it
    will see state == STATE_READY and break.

  5. do_mq_timedreceive returns, and ewq_addr is no longer guaranteed
    to be a struct 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.

❓ What is the problem

A vulnerability (CWE-672) exists in Linux kernel. Attackers reach the vulnerable code path via ewq_addr.

📍 Affected scope

Check the vendor advisory for the affected versions of Linux kernel. Attack surface: ewq_addr / this.

🔥 Severity

Severity: High (CVSS 7.8/10). Successful exploitation can lead to full system takeover.

🔧 How to fix

Update to the patched release per vendor advisory.

🛡️ Workaround

Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.

🔍 Detection

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

  1. 1
    Identify exposure identify
    Audit SBOM/dependencies for affected components.

    資産台帳・SBOM・依存マニフェストで Linux kernel を使っているサービスとバージョンを洗い出す。

  2. 2
    Post-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

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details