Lucene search
+L

Oracle Linux 8 : ELSA-2026-64794-0: / httpd:2.4 (ELSA-2026-647940)

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

Oracle Linux 8 httpd 2.4 patch fixes mod_proxy_ajp heap overflow enabling code execution.

Related
Refs
Code
ReporterTitlePublishedViews
Family
cve
CVE
CVE-2023-25690
7 Mar 202315:09
cve
cve
CVE
CVE-2023-38709
4 Apr 202419:19
cve
cve
CVE
CVE-2023-44487
10 Oct 202300:00
cve
cve
CVE
CVE-2023-45802
23 Oct 202306:50
cve
cve
CVE
CVE-2024-27316
4 Apr 202419:21
cve
cve
CVE
CVE-2024-38473
1 Jul 202418:14
cve
cve
CVE
CVE-2024-38474
1 Jul 202418:14
cve
cve
CVE
CVE-2024-38475
1 Jul 202418:15
cve
cve
CVE
CVE-2024-38476
1 Jul 202418:15
cve
cve
CVE
CVE-2024-38477
1 Jul 202418:16
cve
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Oracle Linux Security Advisory ELSA-2026-647940.
##

include('compat.inc');

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

  script_cve_id("CVE-2026-29167");

  script_name(english:"Oracle Linux 8 : ELSA-2026-64794-0: / httpd:2.4 (ELSA-2026-647940)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Oracle Linux host is missing a security update.");
  script_set_attribute(attribute:"description", value:
"The remote Oracle Linux 8 host has packages installed that are affected by a vulnerability as referenced in the
ELSA-2026-647940 advisory.

    - Resolves: RHEL-173558 - httpd:2.4/httpd: Apache HTTP Server mod_proxy_ajp:
      Arbitrary code execution via heap-based buffer overflow (CVE-2026-28780)
    - Resolves: RHEL-175074 - httpd:2.4/httpd: NULL pointer dereference can
      cause a child process crash (CVE-2026-33007)
    - Resolves: RHEL-175088 - httpd:2.4/httpd: off-by-one out-of-bounds reads
      in AJP getter functions (CVE-2026-33857)
    - Resolves: RHEL-175620 - httpd:2.4/httpd: NULL pointer dereference via
      specially crafted request (CVE-2026-29169)
    - Resolves: RHEL-175055 - httpd: heap-based buffer over-read and memory
      disclosure in ajp_parse_data() (CVE-2026-34059)
    - Resolves: RHEL-135054 - httpd: Apache HTTP Server: mod_userdir+suexec bypass
      via AllowOverride FileInfo (CVE-2025-66200)
    - Resolves: RHEL-135039 - httpd: Apache HTTP Server: CGI environment variable
      override (CVE-2025-65082)
    - Resolves: RHEL-134471 - httpd: Apache HTTP Server: Server Side Includes adds
      query string to #exec cmd=... (CVE-2025-58098)
    - Resolves: RHEL-127073 - mod_ssl: allow more fine grained SSL SNI vhost check
      to avoid unnecessary 421 errors after CVE-2025-23048 fix
    - Resolves: RHEL-99944 - CVE-2025-49812 httpd: HTTP Session Hijack via a TLS upgrade
    - Resolves: RHEL-99969 - CVE-2024-47252 httpd: insufficient escaping of
      user-supplied data in mod_ssl
    - Resolves: RHEL-99961 - CVE-2025-23048 httpd: access control bypass by trusted
      clients is possible using TLS 1.3 session resumption
    - Resolves: RHEL-46040 - httpd:2.4/httpd: Security issues via backend
      applications whose response headers are malicious or exploitable (CVE-2024-38476)
    - Resolves: RHEL-53022 - Regression introduced by CVE-2024-38474 fix
    - Resolves: RHEL-45812 - httpd:2.4/httpd: Substitution encoding issue
      in mod_rewrite (CVE-2024-38474)
    - Resolves: RHEL-45785 - httpd:2.4/httpd: Encoding problem in
      mod_proxy (CVE-2024-38473)
    - Resolves: RHEL-45777 - httpd:2.4/httpd: Improper escaping of output
      in mod_rewrite (CVE-2024-38475)
    - Resolves: RHEL-45758 - httpd:2.4/httpd: null pointer dereference
      in mod_proxy (CVE-2024-38477)
    - Resolves: RHEL-45743 - httpd:2.4/httpd: Potential SSRF
      in mod_rewrite (CVE-2024-39573)
    - Resolves: RHEL-31857 - httpd:2.4/httpd: HTTP response
      splitting (CVE-2023-38709)

    mod_http2
    - Resolves: RHEL-191279 - mod_http2: Apache HTTP Server: Out-of-bounds
      Read in mod_headers and mod_mime (CVE-2026-43951)
    - Resolves: RHEL-182418 - mod_http2: HTTP/2: Remote Denial of Service via
      compression bomb and Slowloris-style attack (CVE-2026-49975)
    - Resolves: RHEL-166277 - httpd:2.4/httpd: Apache HTTP Server: HTTP/2 DoS by
      Memory Increase (CVE-2025-53020)
    - Resolves: RHEL-105186 - httpd:2.4/httpd: untrusted input from a client causes
      an assertion to fail in the Apache mod_proxy_http2 module (CVE-2025-49630)
    - Resolves: RHEL-58454 - mod_proxy_http2 failures after CVE-2024-38477 fix
    - Resolves: RHEL-29817 - httpd:2.4/mod_http2: httpd: CONTINUATION frames
      DoS (CVE-2024-27316)
    - Resolves: RHEL-13367 - httpd:2.4/mod_http2: reset requests exhaust memory
      (incomplete fix of CVE-2023-44487)(CVE-2023-45802)
    - Resolves: #2177748 - CVE-2023-25690 httpd:2.4/httpd: HTTP request splitting
      with mod_rewrite and mod_proxy

    mod_md
    - Resolves: RHEL-134487 - httpd:2.4/httpd: Apache HTTP Server: mod_md (ACME),
      unintended retry intervals (CVE-2025-55753)

Tenable has extracted the preceding description block directly from the Oracle Linux security advisory.

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://linux.oracle.com/errata/ELSA-2026-64794-0.html");
  script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/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-2026-29167");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"vuln_publication_date", value:"2026/06/08");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/09/10");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/09/10");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:oracle:linux:8");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:httpd");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:httpd-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:httpd-filesystem");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:httpd-manual");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:httpd-tools");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:mod_http2");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:mod_ldap");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:mod_md");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:mod_proxy_html");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:mod_session");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:oracle:linux:mod_ssl");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Oracle Linux Local Security Checks");

  script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/OracleLinux", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/local_checks_enabled");

  exit(0);
}


include('rpm2.inc');

if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_product = get_kb_item('installed_os/local/SSH/0/product');
if (isnull(os_product) || !pregmatch(pattern: "Oracle (?:Linux Server|Enterprise Linux)", string:os_product)) audit(AUDIT_OS_NOT, 'Oracle Linux');
var os_version = get_kb_item('installed_os/local/SSH/0/version');
if (isnull(os_version)) audit(AUDIT_UNKNOWN_APP_VER, 'Oracle Linux');
if (! preg(pattern:"^8([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'Oracle Linux 8.x', 'Oracle Linux ' + os_version);

if (!get_kb_item('Host/RedHat/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);

var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Oracle Linux', cpu);

var module_ver = get_kb_item('Host/RedHat/appstream/httpd');
if (isnull(module_ver)) audit(AUDIT_PACKAGE_NOT_INSTALLED, 'Module httpd:2.4');
if ('2.4' >!< module_ver) audit(AUDIT_PACKAGE_NOT_AFFECTED, 'Module httpd:' + module_ver);

var constraints = {
  'httpd:2.4': [
    {
      'release': '8',
      'pkgs': [
        {'reference':'httpd-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'httpd-devel-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'httpd-filesystem-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'httpd-manual-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'httpd-tools-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'mod_http2-1.15.7-10.module+el8.10.0+91023+3994037c.7', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'mod_ldap-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'mod_md-2.0.8-8.module+el8.10.0+90899+db89cbcc.2', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'},
        {'reference':'mod_proxy_html-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'},
        {'reference':'mod_session-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'mod_ssl-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'},
        {'reference':'httpd-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'httpd-devel-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'httpd-filesystem-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'httpd-manual-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'httpd-tools-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'mod_http2-1.15.7-10.module+el8.10.0+91023+3994037c.7', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'mod_ldap-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'mod_md-2.0.8-8.module+el8.10.0+90899+db89cbcc.2', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'},
        {'reference':'mod_proxy_html-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'},
        {'reference':'mod_session-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
        {'reference':'mod_ssl-2.4.37-65.0.1.module+el8.10.0+91023+3994037c.8', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'1'}
      ]
    }
  ]
};

var os_release = get_one_kb_item('installed_os/local/SSH/0/release');
var os_sp = get_one_kb_item('Host/*/minor_release');

var flag = 0;
var reference;
var sp;
var _cpu;
var el_string;
var rpm_spec_vers_cmp;
var epoch;
var allowmaj;
var exists_check;
var cves;
var appstreams_found = 0;
var appstream;
var appstream_name;
var appstream_version;
foreach var module (keys(constraints)) {
  appstream = NULL;
  appstream_name = NULL;
  appstream_version = NULL;
  appstream_split = split(module, sep:':', keep:FALSE);
  if (!empty_or_null(appstream_split)) {
    appstream_name = appstream_split[0];
    appstream_version = appstream_split[1];
    if (!empty_or_null(appstream_name)) appstream = get_one_kb_item('Host/RedHat/appstream/' + appstream_name);
  }
  if (!empty_or_null(appstream) && appstream_version == appstream || appstream_name == 'all') {
    appstreams_found++;
    foreach var module_array ( constraints[module] ) {
      # Check that the target release is equal to the affected release
      if (!empty_or_null(module_array['release'])){
        if (module_array['release'] != os_release) continue;
      }
      if (!empty_or_null(module_array['sp'])){
        if (module_array['sp'] != os_sp) continue;
      }
      foreach var package_array ( module_array['pkgs'] ) {
        reference = NULL;
        sp = NULL;
        _cpu = NULL;
        el_string = NULL;
        rpm_spec_vers_cmp = NULL;
        epoch = NULL;
        allowmaj = NULL;
        exists_check = NULL;
        cves = NULL;
        if (!empty_or_null(package_array['reference'])) reference = package_array['reference'];
        if (!empty_or_null(package_array['sp'])) sp = package_array['sp'];
        if (!empty_or_null(package_array['cpu'])) _cpu = package_array['cpu'];
        if (!empty_or_null(package_array['el_string'])) el_string = package_array['el_string'];
        if (!empty_or_null(package_array['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = package_array['rpm_spec_vers_cmp'];
        if (!empty_or_null(package_array['epoch'])) epoch = package_array['epoch'];
        if (!empty_or_null(package_array['allowmaj'])) allowmaj = package_array['allowmaj'];
        if (!empty_or_null(package_array['exists_check'])) exists_check = package_array['exists_check'];
        if (!empty_or_null(package_array['cves'])) cves = package_array['cves'];
        if (reference &&
            (!exists_check || rpm_exists(rpm:exists_check)) &&
            rpm_check(sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj, cves:cves)) flag++;
      }
    }
  }
}

if (!appstreams_found) audit(AUDIT_PACKAGE_NOT_INSTALLED, 'Module httpd:2.4');

if (flag)
{
  security_report_v4(
      port       : 0,
      severity   : SECURITY_HOLE,
      extra      : rpm_report_get()
  );
  exit(0);
}
else
{
  var tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'httpd / httpd-devel / httpd-filesystem / etc');
}

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