| Source | Link |
|---|---|
| ubuntu | www.ubuntu.com/security/CVE-2021-47546 |
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%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