Lucene search
K

Linux Distros Unpatched Vulnerability : CVE-2021-47189

🗓️ 12 Aug 2025 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 2 Views

Unpatched CVE-2021-47189: btrfs memory ordering race barriers fix WORK_DONE_BIT and ARM64 crash.

Related
Refs
Code
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(248782);
  script_version("1.10");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/05/21");

  script_cve_id("CVE-2021-47189");

  script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2021-47189");

  script_set_attribute(attribute:"synopsis", value:
"The Linux/Unix host has one or more packages installed with a vulnerability that the vendor indicates will not be
patched.");
  script_set_attribute(attribute:"description", value:
"The Linux/Unix host has one or more packages installed that are impacted by a vulnerability without a vendor supplied
patch available.

  - btrfs: fix memory ordering between normal and ordered work functions Ordered work functions aren't
    guaranteed to be handled by the same thread which executed the normal work functions. The only way
    execution between normal/ordered functions is synchronized is via the WORK_DONE_BIT, unfortunately the
    used bitops don't guarantee any ordering whatsoever. This manifested as seemingly inexplicable crashes on
    ARM64, where async_chunk::inode is seen as non-null in async_cow_submit which causes
    submit_compressed_extents to be called and crash occurs because async_chunk::inode suddenly became NULL.
    The call trace was similar to: pc : submit_compressed_extents+0x38/0x3d0 lr : async_cow_submit+0x50/0xd0
    sp : ffff800015d4bc20 <registers omitted for brevity> Call trace: submit_compressed_extents+0x38/0x3d0
    async_cow_submit+0x50/0xd0 run_ordered_work+0xc8/0x280 btrfs_work_helper+0x98/0x250
    process_one_work+0x1f0/0x4ac worker_thread+0x188/0x504 kthread+0x110/0x114 ret_from_fork+0x10/0x18 Fix
    this by adding respective barrier calls which ensure that all accesses preceding setting of WORK_DONE_BIT
    are strictly ordered before setting the flag. At the same time add a read barrier after reading of
    WORK_DONE_BIT in run_ordered_work which ensures all subsequent loads would be strictly ordered after
    reading the bit. This in turn ensures are all accesses before WORK_DONE_BIT are going to be strictly
    ordered before any access that can occur in ordered_func. (CVE-2021-47189)

Note that Nessus relies on the presence of the package as reported by the vendor.");
  script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/CVE-2021-47189");
  script_set_attribute(attribute:"solution", value:
"There is no known solution at this time.");
  script_set_attribute(attribute:"agent", value:"unix");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:P/I:N/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:U/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2021-47189");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");
  script_set_attribute(attribute:"vendor_unpatched", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2021/07/21");
  script_set_attribute(attribute:"plugin_publication_date", value:"2025/08/12");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:14.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:16.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:18.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:20.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:22.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:24.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-allwinner-5.19");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.0");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.11");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.13");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.19");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.3");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.8");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-aws-6.2");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.11");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.13");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.19");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.3");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.8");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-6.2");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-edge");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde-5.19");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde-6.2");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.11");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.13");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.19");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.3");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.8");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gcp-6.2");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gke");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gke-4.15");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gke-5.15");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gke-5.4");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-gkeop-5.4");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.11");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.13");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.19");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.8");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-6.2");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-hwe-edge");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-intel-5.13");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-intel-iot-realtime");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-kvm");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-5.19");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-6.2");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-lts-xenial");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-nvidia-6.2");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.10");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.13");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.14");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.17");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.6");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.0");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.1");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.0");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.11");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.13");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.3");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.8");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-raspi-realtime");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-raspi2");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-realtime");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-riscv");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.11");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.19");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.8");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-starfive-5.19");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:linux-starfive-6.2");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Misc.");

  script_copyright(english:"This script is Copyright (C) 2025-2026 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info2.nasl", "set_linux_os_id.nasl");
  script_require_keys("Host/cpu", "Host/local_checks_enabled", "global_settings/vendor_unpatched", "Host/OS/identifier");
  script_require_ports("Host/OS/Ubuntu Linux-14.04", "Host/OS/Ubuntu Linux-16.04", "Host/OS/Ubuntu Linux-18.04", "Host/OS/Ubuntu Linux-20.04", "Host/OS/Ubuntu Linux-22.04", "Host/OS/Ubuntu Linux-24.04");

  exit(0);
}

if (!get_kb_item("global_settings/vendor_unpatched")) exit(0, "Unpatched Vulnerabilities Detection not active.");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (empty_or_null(get_one_kb_item("Host/Debian/dpkg-l"))) audit(AUDIT_PACKAGE_LIST_MISSING);

include('linux_unpatched.inc');

var distro_constraints_array = {
  "Ubuntu Linux-14.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "14.04",
        "pkgs": [
          {"reference": "linux-aws"},
          {"reference": "linux-lts-xenial"}
        ]
      }
    ]
  },
  "Ubuntu Linux-16.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "16.04",
        "pkgs": [
          {"reference": "linux-aws"},
          {"reference": "linux-cloud-tools-4.4.0"},
          {"reference": "linux-cloud-tools-common"},
          {"reference": "linux-doc"},
          {"reference": "linux-headers-4.4.0"},
          {"reference": "linux-hwe-edge"},
          {"reference": "linux-image-4.4.0"},
          {"reference": "linux-image-extra-4.4.0"},
          {"reference": "linux-kvm"},
          {"reference": "linux-libc-dev"},
          {"reference": "linux-source-4.4.0"},
          {"reference": "linux-tools-4.4.0"},
          {"reference": "linux-tools-common"},
          {"reference": "linux-udebs-generic"},
          {"reference": "linux-udebs-generic-lpae"},
          {"reference": "linux-udebs-lowlatency"}
        ]
      }
    ]
  },
  "Ubuntu Linux-18.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "18.04",
        "pkgs": [
          {"reference": "linux-aws-5.0"},
          {"reference": "linux-aws-5.3"},
          {"reference": "linux-azure-5.3"},
          {"reference": "linux-azure-cloud-tools-4.15.0"},
          {"reference": "linux-azure-edge"},
          {"reference": "linux-azure-headers-4.15.0"},
          {"reference": "linux-azure-tools-4.15.0"},
          {"reference": "linux-cloud-tools-4.15.0"},
          {"reference": "linux-gcp-5.3"},
          {"reference": "linux-gcp-headers-4.15.0"},
          {"reference": "linux-gcp-tools-4.15.0"},
          {"reference": "linux-gke-4.15"},
          {"reference": "linux-gke-5.4"},
          {"reference": "linux-gkeop-5.4"},
          {"reference": "linux-headers-4.15.0"},
          {"reference": "linux-hwe"},
          {"reference": "linux-hwe-edge"},
          {"reference": "linux-image-4.15.0"},
          {"reference": "linux-image-unsigned-4.15.0"},
          {"reference": "linux-modules-4.15.0"},
          {"reference": "linux-modules-extra-4.15.0"},
          {"reference": "linux-oem-headers-4.15.0"},
          {"reference": "linux-oem-tools-4.15.0"},
          {"reference": "linux-oracle-5.0"},
          {"reference": "linux-oracle-5.3"},
          {"reference": "linux-tools-4.15.0"},
          {"reference": "linux-udebs-azure"},
          {"reference": "linux-udebs-oem"}
        ]
      }
    ]
  },
  "Ubuntu Linux-20.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "20.04",
        "pkgs": [
          {"reference": "linux-aws-5.11"},
          {"reference": "linux-aws-5.13"},
          {"reference": "linux-aws-5.8"},
          {"reference": "linux-azure-5.11"},
          {"reference": "linux-azure-5.13"},
          {"reference": "linux-azure-5.8"},
          {"reference": "linux-azure-fde"},
          {"reference": "linux-buildinfo-5.4.0"},
          {"reference": "linux-buildinfo-5.6.0"},
          {"reference": "linux-cloud-tools-5.4.0"},
          {"reference": "linux-cloud-tools-5.6.0"},
          {"reference": "linux-gcp-5.11"},
          {"reference": "linux-gcp-5.13"},
          {"reference": "linux-gcp-5.8"},
          {"reference": "linux-gke"},
          {"reference": "linux-gke-5.15"},
          {"reference": "linux-headers-5.4.0"},
          {"reference": "linux-headers-5.6.0"},
          {"reference": "linux-hwe-5.11"},
          {"reference": "linux-hwe-5.13"},
          {"reference": "linux-hwe-5.8"},
          {"reference": "linux-image-5.4.0"},
          {"reference": "linux-image-unsigned-5.6.0"},
          {"reference": "linux-intel-5.13"},
          {"reference": "linux-libc-dev"},
          {"reference": "linux-modules-5.4.0"},
          {"reference": "linux-modules-5.6.0"},
          {"reference": "linux-modules-extra-5.4.0"},
          {"reference": "linux-modules-extra-5.6.0"},
          {"reference": "linux-oem-5.10"},
          {"reference": "linux-oem-5.13"},
          {"reference": "linux-oem-5.14"},
          {"reference": "linux-oem-5.6-headers-5.6.0"},
          {"reference": "linux-oem-5.6-tools-5.6.0"},
          {"reference": "linux-oem-5.6-tools-common"},
          {"reference": "linux-oem-5.6-tools-host"},
          {"reference": "linux-oracle-5.11"},
          {"reference": "linux-oracle-5.13"},
          {"reference": "linux-oracle-5.8"},
          {"reference": "linux-raspi2"},
          {"reference": "linux-riscv-5.11"},
          {"reference": "linux-riscv-5.8"},
          {"reference": "linux-riscv-headers-5.4.0"},
          {"reference": "linux-riscv-tools-5.4.0"},
          {"reference": "linux-tools-5.4.0"},
          {"reference": "linux-tools-5.6.0"},
          {"reference": "linux-udebs-generic"},
          {"reference": "linux-udebs-oem"}
        ]
      }
    ]
  },
  "Ubuntu Linux-22.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "22.04",
        "pkgs": [
          {"reference": "linux-allwinner-5.19"},
          {"reference": "linux-aws-5.19"},
          {"reference": "linux-aws-6.2"},
          {"reference": "linux-azure-5.19"},
          {"reference": "linux-azure-6.2"},
          {"reference": "linux-azure-fde-5.19"},
          {"reference": "linux-azure-fde-6.2"},
          {"reference": "linux-buildinfo-5.15.0"},
          {"reference": "linux-buildinfo-5.17.0"},
          {"reference": "linux-cloud-tools-5.15.0"},
          {"reference": "linux-cloud-tools-5.17.0"},
          {"reference": "linux-gcp-5.19"},
          {"reference": "linux-gcp-6.2"},
          {"reference": "linux-headers-5.15.0"},
          {"reference": "linux-headers-5.17.0"},
          {"reference": "linux-hwe-5.19"},
          {"reference": "linux-hwe-6.2"},
          {"reference": "linux-image-5.15.0"},
          {"reference": "linux-image-unsigned-5.17.0"},
          {"reference": "linux-intel-iot-realtime"},
          {"reference": "linux-lowlatency-hwe-5.19"},
          {"reference": "linux-lowlatency-hwe-6.2"},
          {"reference": "linux-modules-5.15.0"},
          {"reference": "linux-modules-5.17.0"},
          {"reference": "linux-modules-extra-5.15.0"},
          {"reference": "linux-modules-extra-5.17.0"},
          {"reference": "linux-nvidia-6.2"},
          {"reference": "linux-oem-5.17-headers-5.17.0"},
          {"reference": "linux-oem-5.17-tools-5.17.0"},
          {"reference": "linux-oem-5.17-tools-host"},
          {"reference": "linux-oem-6.0"},
          {"reference": "linux-oem-6.1"},
          {"reference": "linux-realtime"},
          {"reference": "linux-riscv-5.19"},
          {"reference": "linux-riscv-headers-5.15.0"},
          {"reference": "linux-riscv-tools-5.15.0"},
          {"reference": "linux-starfive-5.19"},
          {"reference": "linux-starfive-6.2"},
          {"reference": "linux-tools-5.15.0"},
          {"reference": "linux-tools-5.17.0"}
        ]
      }
    ]
  },
  "Ubuntu Linux-24.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "24.04",
        "pkgs": [
          {"reference": "linux-raspi-realtime"}
        ]
      }
    ]
  }
};

var distro_constraints_values = linux_unpatched::get_distro_constraints(distro_constraints_arr:distro_constraints_array);
if (empty_or_null(distro_constraints_values)) audit(AUDIT_HOST_NOT, 'affected');
var report = linux_unpatched::check_unpatched_constraints(distro_constraints_values:distro_constraints_values);

if (!empty_or_null(report))
{
  security_report_v4(
      port       : 0,
      severity   : SECURITY_NOTE,
      extra      : report
  );
  exit(0);
}
else
{
  audit(AUDIT_HOST_NOT, 'affected');
}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation