Linux Distros Unpatched Vulnerability : CVE-2026-90591
| Reporter | Title | Published | Views | Family All 11 |
|---|---|---|---|---|
| CVE-2026-90591 | 9 Nov 202622:18 | – | circl | |
| CVE-2026-90591 | 9 Nov 202622:04 | – | cve | |
| CVE-2026-90591 NXP ENET-QOS Ethernet driver re-arms RX descriptors with a clobbered DMA buffer address on packet drop | 9 Nov 202622:04 | – | cvelist | |
| EUVD-2026-120492 | 9 Nov 202622:04 | – | euvd | |
| CVE-2026-90591 | 9 Nov 202622:04 | – | mend | |
| CVE-2026-90591 | 9 Nov 202622:18 | – | nvd | |
| CVE-2026-90591 NXP ENET-QOS Ethernet driver re-arms RX descriptors with a clobbered DMA buffer address on packet drop | 9 Nov 202622:04 | – | osv_cve | |
| UBUNTU-CVE-2026-90591 | 10 Nov 202600:00 | – | osv_ubuntu | |
| PT-2026-141167 | 9 Nov 202600:00 | – | ptsecurity | |
| CVE-2026-90591: zephyrproject zephyr: The NXP ENET-QOS Ethernet driver's receive work handler eth_nxp_enet_qos_rx() in drivers/ethernet/eth_nxp_enet_qos… | 9 Nov 202600:00 | – | rapid7 |
10
| Source | Link |
|---|---|
| ubuntu | www.ubuntu.com/security/CVE-2026-90591 |
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(379250);
script_version("1.2");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/11/13");
script_cve_id("CVE-2026-90591");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2026-90591");
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.
- The NXP ENET-QOS Ethernet driver's receive work handler eth_nxp_enet_qos_rx() in
drivers/ethernet/eth_nxp_enet_qos hands each processed descriptor back to the DMA by writing
desc->read.control = rx_desc_refresh_flags, which sets OWN_FLAG and BUF1_ADDR_VALID_FLAG. RDES0 of a
receive descriptor is the DMA buffer address in read format, but the hardware write-back aliases that word
with the VLAN tag fields (or, for a context descriptor, the timestamp low word), so it is destroyed on
every completion. The success path rewrites desc->read.buf1_addr before re-arming; the four drop paths
errored or non-first descriptor, net_pkt_rx_alloc() failure, invalid descriptor length, and
net_pkt_get_frag() failure did not, re-arming the ring slot with the write-back residue as its DMA
target address. The drop paths are driven entirely by received traffic and need no privilege or special
configuration. With the defaults for this driver (CONFIG_NET_BUF_DATA_SIZE of 128 and 16 receive
descriptors) a single full-size frame consumes twelve ring slots and twelve K_NO_WAIT fragment
allocations, so a short burst of frames sent to the device exhausts the receive pools and reaches the
allocation-failure paths; a frame with a receive error, or any frame whose first descriptor was already
dropped, reaches the non-first-descriptor path. Once a slot has been poisoned, the DMA writes the next
frame received in that slot to an address derived from the frame's VLAN tag fields rather than to a
receive buffer. On the supported MCX SoCs that address falls in flash or reserved space, so the transfer
raises a fatal bus error that the driver only logs there is no reset or recovery path and reception
stops permanently until the device is rebooted; where the write is silently discarded instead, the
untouched buffer is later handed to the network stack with a length, delivering stale buffer contents as
if they were a received frame. A single triggering event is enough to make the condition persistent, so an
attacker able to send traffic to the device can permanently disable its network interface.
(CVE-2026-90591)
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-2026-90591");
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:N/AC:L/PR:N/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-2026-90591");
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:"2026/11/09");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/11/11");
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:"cpe:/o:canonical:ubuntu_linux:26.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:26.10");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:zephyr");
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) 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", "Host/OS/Ubuntu Linux-26.04", "Host/OS/Ubuntu Linux-26.10");
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": "zephyr"}
]
}
]
},
"Ubuntu Linux-18.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "18.04",
"pkgs": [
{"reference": "zephyr"}
]
}
]
},
"Ubuntu Linux-20.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "20.04",
"pkgs": [
{"reference": "zephyr"}
]
}
]
},
"Ubuntu Linux-22.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "22.04",
"pkgs": [
{"reference": "zephyr"}
]
}
]
},
"Ubuntu Linux-24.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "24.04",
"pkgs": [
{"reference": "zephyr"}
]
}
]
},
"Ubuntu Linux-26.04": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "26.04",
"pkgs": [
{"reference": "zephyr"}
]
}
]
},
"Ubuntu Linux-26.10": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "26.10",
"pkgs": [
{"reference": "zephyr"}
]
}
]
}
};
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 third_party_support = get_kb_item('Host/OS/extended-third-party');
if (!empty_or_null(third_party_support)) {
var third_party_vendors = distro_constraints_values['third_party'];
if (!empty_or_null(third_party_vendors)) {
var vendor;
foreach vendor (third_party_vendors) {
if (vendor == third_party_support) exit(0, 'A third party management patch is available for this vulnerability from ' + vendor + '.\n');
}
}
}
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
13 Nov 2026 00:00Current
6.2Medium risk
Vulners AI Score6.2
CVSS 3.17.5
EPSS0.00278