| Source | Link |
|---|---|
| security-tracker | www.security-tracker.debian.org/tracker/CVE-2023-28841 |
| ubuntu | www.ubuntu.com/security/CVE-2023-28841 |
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(226947);
script_version("1.4");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/01/31");
script_cve_id("CVE-2023-28841");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2023-28841");
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.
- Moby is an open source container framework developed by Docker Inc. that is distributed as Docker,
Mirantis Container Runtime, and various other downstream projects/products. The Moby daemon component
(`dockerd`), which is developed as moby/moby is commonly referred to as *Docker*. Swarm Mode, which is
compiled in and delivered by default in `dockerd` and is thus present in most major Moby downstreams, is a
simple, built-in container orchestrator that is implemented through a combination of SwarmKit and
supporting network code. The `overlay` network driver is a core feature of Swarm Mode, providing isolated
virtual LANs that allow communication between containers and services across the cluster. This driver is
an implementation/user of VXLAN, which encapsulates link-layer (Ethernet) frames in UDP datagrams that tag
the frame with the VXLAN metadata, including a VXLAN Network ID (VNI) that identifies the originating
overlay network. In addition, the overlay network driver supports an optional, off-by-default encrypted
mode, which is especially useful when VXLAN packets traverses an untrusted network between nodes.
Encrypted overlay networks function by encapsulating the VXLAN datagrams through the use of the IPsec
Encapsulating Security Payload protocol in Transport mode. By deploying IPSec encapsulation, encrypted
overlay networks gain the additional properties of source authentication through cryptographic proof, data
integrity through check-summing, and confidentiality through encryption. When setting an endpoint up on an
encrypted overlay network, Moby installs three iptables (Linux kernel firewall) rules that enforce both
incoming and outgoing IPSec. These rules rely on the `u32` iptables extension provided by the `xt_u32`
kernel module to directly filter on a VXLAN packet's VNI field, so that IPSec guarantees can be enforced
on encrypted overlay networks without interfering with other overlay networks or other users of VXLAN. An
iptables rule designates outgoing VXLAN datagrams with a VNI that corresponds to an encrypted overlay
network for IPsec encapsulation. Encrypted overlay networks on affected platforms silently transmit
unencrypted data. As a result, `overlay` networks may appear to be functional, passing traffic as
expected, but without any of the expected confidentiality or data integrity guarantees. It is possible for
an attacker sitting in a trusted position on the network to read all of the application traffic that is
moving across the overlay network, resulting in unexpected secrets or user data disclosure. Thus, because
many database protocols, internal APIs, etc. are not protected by a second layer of encryption, a user may
use Swarm encrypted overlay networks to provide confidentiality, which due to this vulnerability this is
no longer guaranteed. Patches are available in Moby releases 23.0.3, and 20.10.24. As Mirantis Container
Runtime's 20.10 releases are numbered differently, users of that platform should update to 20.10.16. Some
workarounds are available. Close the VXLAN port (by default, UDP port 4789) to outgoing traffic at the
Internet boundary in order to prevent unintentionally leaking unencrypted traffic over the Internet,
and/or ensure that the `xt_u32` kernel module is available on all nodes of the Swarm cluster.
(CVE-2023-28841)
Note that Nessus relies on the presence of the package as reported by the vendor.");
script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2023-28841");
script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/CVE-2023-28841");
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:A/AC:M/Au:S/C:P/I:N/A:N");
script_set_cvss_temporal_vector("CVSS2#E:POC/RL:U/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N");
script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:U/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2023-28841");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"vendor_unpatched", value:"true");
script_set_attribute(attribute:"vuln_publication_date", value:"2023/04/04");
script_set_attribute(attribute:"plugin_publication_date", value:"2025/03/05");
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:debian:debian_linux:11.0");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:docker.io");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:docker.io");
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("set_linux_os_id.nasl", "ssh_get_info2.nasl");
script_require_keys("Host/OS/identifier", "Host/cpu", "Host/local_checks_enabled", "global_settings/vendor_unpatched");
script_require_ports("Host/OS/Debian Linux-11", "Host/OS/Ubuntu Linux-16.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 = {
"Debian Linux-11": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "11",
"pkgs": [
{"reference": "docker-doc"},
{"reference": "docker.io"},
{"reference": "golang-github-docker-docker-dev"}
]
}
]
},
"Ubuntu Linux-16.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "16.04",
"pkgs": [
{"reference": "docker.io"}
]
}
]
}
};
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