Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-78689

🗓️ 03 Sep 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 3 Views

Out-of-bounds write in NGINX njs/qjs XML namespace parser enabling DoS or code execution.

Related
Refs
Code
ReporterTitlePublishedViews
Family
freebsd
FreeBSD
njs -- heap buffer overflow in XML exclusive canonicalization
2 Sep 202600:00
freebsd
circl
Circl
CVE-2026-78689
2 Sep 202618:07
circl
cve
CVE
CVE-2026-78689
2 Sep 202615:40
cve
cvelist
Cvelist
CVE-2026-78689 NGINX ngx_http_js_module vulnerablility
2 Sep 202615:40
cvelist
debiancve
Debian CVE
CVE-2026-78689
2 Sep 202615:40
debiancve
euvd
EUVD
EUVD-2026-70142
2 Sep 202615:40
euvd
f5
F5 Networks
K000162602: NGINX ngx_http_js_module vulnerability CVE-2026-78689
2 Sep 202613:48
f5
f5
F5 Networks
K000162872: Out-of-band Security Notification (September 2, 2026)
2 Sep 202613:52
f5
nvd
NVD
CVE-2026-78689
2 Sep 202616:17
nvd
osv
OSV
DEBIAN-CVE-2026-78689
2 Sep 202616:17
osv
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(342607);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/09/03");

  script_cve_id("CVE-2026-78689");

  script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2026-78689");

  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.

  - Description NGINX JavaScript (njs) has a vulnerability in the XML module's namespace prefix list parser,
    reachable through the xml.exclusiveC14n() method. An unauthenticated remote attacker can trigger it when
    an affected NGINX configuration passes an externally controlled XML namespace prefix list to that method.
    Both the njs and the QuickJS (qjs) engines are affected. A crafted prefix list causes an out-of-bounds
    write past the end of a heap allocation. With the njs engine, which is the engine used when the js_engine
    directive is absent, this corrupts adjacent objects and crashes the NGINX worker. With the QuickJS engine,
    the same call additionally leaks the prefix list on every invocation, causing worker memory to grow across
    requests. The official nginxinc/nginx-saml reference implementation is affected during SAML signature
    verification. It reads InclusiveNamespaces/@PrefixList from an untrusted SAML message and passes it to
    xml.exclusiveC14n() before the signature has been verified, so a valid SAML signature is not required. A
    crafted SAML Response, Assertion, LogoutRequest, or LogoutResponse is sufficient. Code execution has not
    been demonstrated and cannot be ruled out for all platforms, as the effect of the out-of-bounds write
    depends on conditions beyond the attacker's control. Impact This vulnerability allows remote attackers to
    cause a denial of service on the NGINX system, either through repeatable worker restarts or through worker
    memory growth or possibly trigger code execution. There is no control plane exposure; this is a data plane
    issue only. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
    (CVE-2026-78689)

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-2026-78689");
  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:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:U/RC:C");
  script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N");
  script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:U");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-78689");

  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/09/02");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/09/03");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:12.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:13.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:14.0");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libnginx-mod-js");
  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/Debian Linux-12", "Host/OS/Debian Linux-13", "Host/OS/Debian Linux-14");

  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-12": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "12",
        "pkgs": [
          {"reference": "libnginx-mod-http-js"},
          {"reference": "libnginx-mod-stream-js"},
          {"reference": "njs"}
        ]
      }
    ]
  },
  "Debian Linux-13": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "13",
        "pkgs": [
          {"reference": "libnginx-mod-http-js"},
          {"reference": "libnginx-mod-stream-js"},
          {"reference": "njs"}
        ]
      }
    ]
  },
  "Debian Linux-14": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "14",
        "pkgs": [
          {"reference": "libnginx-mod-http-js"},
          {"reference": "libnginx-mod-stream-js"},
          {"reference": "njs"}
        ]
      }
    ]
  }
};

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_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

03 Sep 2026 00:00Current
6.1Medium risk
Vulners AI Score6.1
CVSS 3.18.1
CVSS 49.2
EPSS0.00413
SSVC
3