Lucene search
K

Linux Distros Unpatched Vulnerability : CVE-2020-29484

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

Unpatched CVE-2020-29484 Xenstore watch can crash xenstored and DoS via large payloads >4096 bytes.

Related
Refs
Code
ReporterTitlePublishedViews
Family
Circl
CVE-2020-29484
15 Dec 202020:46
circl
CNNVD
Xen Code Issues Vulnerabilities
15 Dec 202000:00
cnnvd
CVE
CVE-2020-29484
15 Dec 202017:25
cve
Cvelist
CVE-2020-29484
15 Dec 202017:25
cvelist
Debian
[SECURITY] [DSA 4812-1] xen security update
15 Dec 202012:50
debian
Debian CVE
CVE-2020-29484
15 Dec 202017:25
debiancve
Tenable Nessus
Debian DSA-4812-1 : xen - security update
16 Dec 202000:00
nessus
Tenable Nessus
Fedora 33 : xen (2020-64859a826b)
28 Dec 202000:00
nessus
Tenable Nessus
Fedora 32 : xen (2020-df772b417b)
28 Dec 202000:00
nessus
Tenable Nessus
openSUSE Security Update : xen (openSUSE-2020-2313)
25 Jan 202100:00
nessus
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(256114);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2025/08/27");

  script_cve_id("CVE-2020-29484");

  script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2020-29484");

  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.

  - An issue was discovered in Xen through 4.14.x. When a Xenstore watch fires, the xenstore client that
    registered the watch will receive a Xenstore message containing the path of the modified Xenstore entry
    that triggered the watch, and the tag that was specified when registering the watch. Any communication
    with xenstored is done via Xenstore messages, consisting of a message header and the payload. The payload
    length is limited to 4096 bytes. Any request to xenstored resulting in a response with a payload longer
    than 4096 bytes will result in an error. When registering a watch, the payload length limit applies to the
    combined length of the watched path and the specified tag. Because watches for a specific path are also
    triggered for all nodes below that path, the payload of a watch event message can be longer than the
    payload needed to register the watch. A malicious guest that registers a watch using a very large tag
    (i.e., with a registration operation payload length close to the 4096 byte limit) can cause the generation
    of watch events with a payload length larger than 4096 bytes, by writing to Xenstore entries below the
    watched path. This will result in an error condition in xenstored. This error can result in a NULL pointer
    dereference, leading to a crash of xenstored. A malicious guest administrator can cause xenstored to
    crash, leading to a denial of service. Following a xenstored crash, domains may continue to run, but
    management operations will be impossible. Only C xenstored is affected, oxenstored is not affected.
    (CVE-2020-29484)

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

  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:"2020/12/15");
  script_set_attribute(attribute:"plugin_publication_date", value:"2025/08/27");

  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:"p-cpe:/a:canonical:ubuntu_linux:xen");
  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 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");

  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": "libxen-4.6"},
          {"reference": "libxen-dev"},
          {"reference": "libxenstore3.0"},
          {"reference": "xen-hypervisor-4.4-amd64"},
          {"reference": "xen-hypervisor-4.4-arm64"},
          {"reference": "xen-hypervisor-4.4-armhf"},
          {"reference": "xen-hypervisor-4.5-amd64"},
          {"reference": "xen-hypervisor-4.5-arm64"},
          {"reference": "xen-hypervisor-4.5-armhf"},
          {"reference": "xen-hypervisor-4.6-amd64"},
          {"reference": "xen-hypervisor-4.6-arm64"},
          {"reference": "xen-hypervisor-4.6-armhf"},
          {"reference": "xen-system-amd64"},
          {"reference": "xen-system-arm64"},
          {"reference": "xen-system-armhf"},
          {"reference": "xen-utils-4.6"},
          {"reference": "xen-utils-common"},
          {"reference": "xenstore-utils"}
        ]
      }
    ]
  },
  "Ubuntu Linux-18.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "18.04",
        "pkgs": [
          {"reference": "libxen-4.9"},
          {"reference": "libxen-dev"},
          {"reference": "libxenstore3.0"},
          {"reference": "xen-hypervisor-4.6-amd64"},
          {"reference": "xen-hypervisor-4.6-arm64"},
          {"reference": "xen-hypervisor-4.6-armhf"},
          {"reference": "xen-hypervisor-4.7-amd64"},
          {"reference": "xen-hypervisor-4.7-arm64"},
          {"reference": "xen-hypervisor-4.7-armhf"},
          {"reference": "xen-hypervisor-4.8-amd64"},
          {"reference": "xen-hypervisor-4.8-arm64"},
          {"reference": "xen-hypervisor-4.8-armhf"},
          {"reference": "xen-hypervisor-4.9-amd64"},
          {"reference": "xen-hypervisor-4.9-arm64"},
          {"reference": "xen-hypervisor-4.9-armhf"},
          {"reference": "xen-system-amd64"},
          {"reference": "xen-system-arm64"},
          {"reference": "xen-system-armhf"},
          {"reference": "xen-utils-4.9"},
          {"reference": "xen-utils-common"},
          {"reference": "xenstore-utils"}
        ]
      }
    ]
  },
  "Ubuntu Linux-20.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "20.04",
        "pkgs": [
          {"reference": "xen"}
        ]
      }
    ]
  }
};

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_WARNING,
      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

27 Aug 2025 00:00Current
7.2High risk
Vulners AI Score7.2
CVSS 24.9
CVSS 3.16
EPSS0.00064
2