CVE-2021-47189
Linux Kernel vulnerability analysis and mitigation

Overview

CVE-2021-47189 is a memory ordering vulnerability discovered in the Linux kernel's btrfs filesystem code. The vulnerability was disclosed on April 10, 2024, affecting the synchronization between normal and ordered work functions in the btrfs filesystem implementation. The issue specifically impacts systems using the btrfs filesystem, particularly showing problems on ARM64 architectures (NVD).

Technical details

The vulnerability stems from improper synchronization between normal and ordered work functions in the btrfs filesystem. The synchronization relies on WORK_DONE_BIT, but the used bitops don't guarantee proper ordering. This manifests as crashes on ARM64 systems where async_chunk::inode is seen as non-null in async_cow_submit, causing submit_compressed_extents to be called and crash when async_chunk::inode unexpectedly becomes NULL. The issue has been assigned a CVSS v3.1 base score of 6.3 (Medium) by CISA-ADP with vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L (NVD).

Impact

The vulnerability can lead to unpredictable behavior or security risks in systems using the btrfs filesystem. The primary impact is system stability issues, particularly manifesting as crashes on ARM64 architectures. The vulnerability affects the system's memory ordering mechanisms, potentially leading to data inconsistency or system crashes (Red Hat).

Exploitability

The vulnerability requires local access and low privileges to exploit. It primarily affects systems using the btrfs filesystem and is particularly noticeable on ARM64 architectures. The issue has been confirmed to cause system crashes under specific conditions when the filesystem operations trigger the improper memory ordering behavior (NVD).

Mitigation and workarounds

The vulnerability has been fixed by adding barrier calls that ensure proper ordering of memory accesses. The fix includes adding smp_mb__before_atomic() before setting WORK_DONE_BIT and smp_rmb() after reading WORK_DONE_BIT in run_ordered_work. These changes ensure strict ordering of memory accesses between normal and ordered work functions. The fix has been implemented in various Linux kernel versions and is available through system updates (Kernel Commit).

Additional resources


SourceThis report was generated using AI

Related Linux Kernel vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-93189HIGH8.8
  • Linux Kernel logoLinux Kernel
  • linux-azure-fips
NoYesSep 17, 2026
CVE-2026-93188MEDIUM6.5
  • Linux Kernel logoLinux Kernel
  • linux-nvidia-tegra-5.15
NoYesSep 17, 2026
CVE-2026-93182NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-fips
NoYesSep 17, 2026
CVE-2026-93181NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-azure-4.15
NoNoSep 17, 2026
CVE-2026-93174NONEN/A
  • Linux Kernel logoLinux Kernel
  • linux-azure-fde-6.14
NoYesSep 17, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management