Lucene search
K

Linux Distros Unpatched Vulnerability : CVE-2021-47546

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

Unpatched CVE-2021-47546: Linux kernel ipv6 fib6_rule_suppress memory leak with suppress_prefix rule

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

include('compat.inc');

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

  script_cve_id("CVE-2021-47546");

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

  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.

  - In the Linux kernel, the following vulnerability has been resolved: ipv6: fix memory leak in
    fib6_rule_suppress The kernel leaks memory when a `fib` rule is present in IPv6 nftables firewall rules
    and a suppress_prefix rule is present in the IPv6 routing rules (used by certain tools such as wg-quick).
    In such scenarios, every incoming packet will leak an allocation in `ip6_dst_cache` slab cache. After some
    hours of `bpftrace`-ing and source code reading, I tracked down the issue to ca7a03c41753 (ipv6: do not
    free rt if FIB_LOOKUP_NOREF is set on suppress rule). The problem with that change is that the generic
    `args->flags` always have `FIB_LOOKUP_NOREF` set[1][2] but the IPv6-specific flag `RT6_LOOKUP_F_DST_NOREF`
    might not be, leading to `fib6_rule_suppress` not decreasing the refcount when needed. How to reproduce: -
    Add the following nftables rule to a prerouting chain: meta nfproto ipv6 fib saddr . mark . iif oif
    missing drop This can be done with: sudo nft create table inet test sudo nft create chain inet test
    test_chain '{ type filter hook prerouting priority filter + 10; policy accept; }' sudo nft add rule inet
    test test_chain meta nfproto ipv6 fib saddr . mark . iif oif missing drop - Run: sudo ip -6 rule add table
    main suppress_prefixlength 0 - Watch `sudo slabtop -o | grep ip6_dst_cache` to see memory usage increase
    with every incoming ipv6 packet. This patch exposes the protocol-specific flags to the protocol specific
    `suppress` function, and check the protocol-specific `flags` argument for RT6_LOOKUP_F_DST_NOREF instead
    of the generic FIB_LOOKUP_NOREF when decreasing the refcount, like this. [1]:
    https://github.com/torvalds/linux/blob/ca7a03c4175366a92cee0ccc4fec0038c3266e26/net/ipv6/fib6_rules.c#L71
    [2]:
    https://github.com/torvalds/linux/blob/ca7a03c4175366a92cee0ccc4fec0038c3266e26/net/ipv6/fib6_rules.c#L99
    (CVE-2021-47546)

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-47546");
  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:N/AC:L/Au:N/C:N/I:N/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:U/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2021-47546");

  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: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-allwinner-5.19");
  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-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-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-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-16.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "16.04",
        "pkgs": [
          {"reference": "linux-hwe-edge"}
        ]
      }
    ]
  },
  "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_HOLE,
      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

21 May 2026 00:00Current
5.9Medium risk
Vulners AI Score5.9
CVSS 3.15.5
EPSS0.00222
SSVC
1