Lucene search
+L

MiracleLinux 8 : kernel-4.18.0-553.141.2.el8_10 (AXSA:2026-1311:50)

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

MiracleLinux 8 host kernel has multiple vulnerabilities across transmission control, netfilter, sctp, drm, procfs, arm processors, and cifs.

Related
Refs
Code
ReporterTitlePublishedViews
Family
FreeBSD
FreeBSD -- Arm CPU errata may bypass page table permission changes
9 Jun 202600:00
freebsd
ATTACKERKB
CVE-2026-46227
28 May 202609:40
attackerkb
ATTACKERKB
CVE-2026-53354
1 Jul 202613:32
attackerkb
ATTACKERKB
CVE-2026-43450
8 May 202614:22
attackerkb
ATTACKERKB
CVE-2026-46209
28 May 202609:40
attackerkb
ATTACKERKB
CVE-2026-43112
6 May 202607:40
attackerkb
ATTACKERKB
CVE-2026-46259
3 Jun 202615:49
attackerkb
Tenable Nessus
Amazon Linux 2023 : bpftool6.18, kernel6.18, kernel6.18-devel (ALAS2023-2026-1514)
30 Mar 202600:00
nessus
Tenable Nessus
Amazon Linux 2023 : bpftool6.12, kernel6.12, kernel6.12-devel (ALAS2023-2026-1543)
7 Apr 202600:00
nessus
Tenable Nessus
Amazon Linux 2023 : bpftool, kernel, kernel-devel (ALAS2023-2026-1544)
7 Apr 202600:00
nessus
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The package checks in this plugin were extracted from
# Miracle Linux Security Advisory AXSA:2026-1311:50.
##

include('compat.inc');

if (description)
{
  script_id(328693);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/07/21");

  script_cve_id(
    "CVE-2025-10263",
    "CVE-2026-43112",
    "CVE-2026-43198",
    "CVE-2026-43450",
    "CVE-2026-46209",
    "CVE-2026-46227",
    "CVE-2026-46259"
  );

  script_name(english:"MiracleLinux 8 : kernel-4.18.0-553.141.2.el8_10 (AXSA:2026-1311:50)");

  script_set_attribute(attribute:"synopsis", value:
"The remote MiracleLinux host is missing one or more security updates.");
  script_set_attribute(attribute:"description", value:
"The remote MiracleLinux 8 host has packages installed that are affected by multiple vulnerabilities as referenced in the
AXSA:2026-1311:50 advisory.

    * kernel: tcp: fix potential race in tcp_v6_syn_recv_sock() (CVE-2026-43198)
      * kernel: netfilter: nfnetlink_cthelper: fix OOB read in
    nfnl_cthelper_dump_table() (CVE-2026-43450)
      * kernel: sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in
    SCTP_SENDALL (CVE-2026-46227)
      * kernel: drm/gem: Fix inconsistent plane dimension calculation in
    drm_gem_fb_init_with_funcs() (CVE-2026-46209)
      * kernel: procfs: fix missing RCU protection when reading real_parent in
    do_task_stat() (CVE-2026-46259)
    * kernel: Arm Processors: Privilege escalation or information disclosure via
    writes to higher exception level resources (CVE-2025-10263)
    * kernel: fs/smb/client: fix out-of-bounds read in cifs_sanitize_prepath
    (CVE-2026-43112)
    CVE-2025-10263
    Arm C1-Ultra, C1-Premium, Neoverse V3 & V3AE, Neoverse V2, Neoverse V1,
    Neoverse-N2, Neoverse-N1, Cortex-X925, Cortex-X4, Cortex-X3, Cortex-X2,
    Cortex-X1 & X1C, Cortex-A710, Cortex-A78, A78AE & A78C, Cortex-A77, Cortex-A76 &
    A76A may allow writes to resources owned by a higher exception level.
    CVE-2026-43198
    In the Linux kernel, the following vulnerability has been resolved: tcp: fix
    potential race in tcp_v6_syn_recv_sock() Code in tcp_v6_syn_recv_sock() after
    the call to tcp_v4_syn_recv_sock() is done too late. After
    tcp_v4_syn_recv_sock(), the child socket is already visible from TCP ehash table
    and other cpus might use it. Since newinet->pinet6 is still pointing to the
    listener ipv6_pinfo bad things can happen as syzbot found. Move the problematic
    code in tcp_v6_mapped_child_init() and call this new helper from
    tcp_v4_syn_recv_sock() before the ehash insertion. This allows the removal of
    one tcp_sync_mss(), since tcp_v4_syn_recv_sock() will call it with the correct
    context.
    CVE-2026-43450
    In the Linux kernel, the following vulnerability has been resolved: netfilter:
    nfnetlink_cthelper: fix OOB read in nfnl_cthelper_dump_table()
    nfnl_cthelper_dump_table() has a 'goto restart' that jumps to a label inside the
    for loop body. When the last helper saved in cb->args[1] is deleted between
    dump rounds, every entry fails the (cur != last) check, so cb->args[1] is never
    cleared. The for loop finishes with cb->args[0] == nf_ct_helper_hsize, and the
    'goto restart' jumps back into the loop body bypassing the bounds check, causing
    an 8-byte out-of-bounds read on nf_ct_helper_hash[nf_ct_helper_hsize]. The 'goto
    restart' block was meant to re-traverse the current bucket when last is no
    longer found, but it was placed after the for loop instead of inside it. Move
    the block into the for loop body so that the restart only occurs while
    cb->args[0] is still within bounds. BUG: KASAN: slab-out-of-bounds in
    nfnl_cthelper_dump_table+0x9f/0x1b0 Read of size 8 at addr ffff888104ca3000 by
    task poc_cthelper/131 Call Trace: nfnl_cthelper_dump_table+0x9f/0x1b0
    netlink_dump+0x333/0x880 netlink_recvmsg+0x3e2/0x4b0 sock_recvmsg+0xde/0xf0
    __sys_recvfrom+0x150/0x200 __x64_sys_recvfrom+0x76/0x90 do_syscall_64+0xc3/0x6e0
    Allocated by task 1: __kvmalloc_node_noprof+0x21b/0x700
    nf_ct_alloc_hashtable+0x65/0xd0 nf_conntrack_helper_init+0x21/0x60
    nf_conntrack_init_start+0x18d/0x300 nf_conntrack_standalone_init+0x12/0xc0
    CVE-2026-46209
    In the Linux kernel, the following vulnerability has been resolved: drm/gem: Fix
    inconsistent plane dimension calculation in drm_gem_fb_init_with_funcs()
    drm_gem_fb_init_with_funcs() computes sub-sampled plane dimensions using plain
    integer division: unsigned int width = mode_cmd->width / (i ? info->hsub : 1);
    unsigned int height = mode_cmd->height / (i ? info->vsub : 1); However, the
    ioctl-level framebuffer_check() in drm_framebuffer.c uses
    drm_format_info_plane_width/height() which round up dimensions via
    DIV_ROUND_UP(). This inconsistency corrupts the subsequent GEM object size check
    for certain pixel format and dimension combinations. For example, with NV12
    (vsub=2) and a 1-pixel-tall framebuffer the GEM size validation path sees
    height=0 instead of height=1. The expression (height - 1) then wraps to UINT_MAX
    as an unsigned int, causing min_size to overflow and wrap back to a small value.
    A tiny GEM object therefore passes the size guard, yet when the GPU accesses the
    chroma plane it will read or write memory beyond the object's bounds. Fix by
    replacing the open-coded divisions with drm_format_info_plane_width() and
    drm_format_info_plane_height(), which use DIV_ROUND_UP() and match the
    calculation already used in framebuffer_check().
    CVE-2026-46227
    In the Linux kernel, the following vulnerability has been resolved: sctp:
    revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL The
    SCTP_SENDALL path in sctp_sendmsg() iterates ep->asocs with
    list_for_each_entry_safe(), which caches the next entry in @tmp before the loop
    body runs. The body calls sctp_sendmsg_to_asoc(), which may drop the socket lock
    inside sctp_wait_for_sndbuf(). While the lock is dropped, another thread can
    SCTP_SOCKOPT_PEELOFF the association cached in @tmp, migrating it to a new
    endpoint via sctp_sock_migrate() (list_del_init() + list_add_tail() to
    newep->asocs), and optionally close the new socket which frees the association
    via kfree_rcu(). The cached @tmp can also be freed by a network ABORT for that
    association, processed in softirq while the lock is dropped.
    sctp_wait_for_sndbuf() revalidates @asoc (the current entry) on re-lock via the
    sk != asoc->base.sk and asoc->base.dead checks, but nothing revalidates
    @tmp. After a successful return, the iterator advances to the stale @tmp,
    yielding either a use-after-free (if the peeled socket was closed) or a
    list-walk onto the new endpoint's list head (type confusion of &newep->asocs as
    a struct sctp_association *). Both are reachable from CapEff=0; the
    type-confusion path gives controlled indirect call via the
    outqueue.sched->init_sid pointer. Fix by re-deriving @tmp from @asoc after
    sctp_sendmsg_to_asoc() returns. @asoc is known to still be on ep->asocs at that
    point: the only callers that list_del an association from ep->asocs are
    sctp_association_free() (which sets asoc->base.dead) and sctp_assoc_migrate()
    (which changes asoc->base.sk), and sctp_wait_for_sndbuf() checks both under the
    lock before any successful return; a tripped check propagates as err < 0 and the
    loop bails before the re-derive. The SCTP_ABORT path in
    sctp_sendmsg_check_sflags() returns 0 and the loop hits 'continue' before
    sctp_sendmsg_to_asoc() is ever called, so the @tmp cached by
    list_for_each_entry_safe() still covers the lock-held free that ba59fb027307
    (sctp: walk the list of asoc safely) was added for.
    CVE-2026-46259
    In the Linux kernel, the following vulnerability has been resolved: procfs: fix
    missing RCU protection when reading real_parent in do_task_stat() When reading
    /proc/[pid]/stat, do_task_stat() accesses task->real_parent without proper RCU
    protection, which leads to: cpu 0 cpu 1 ----- ----- do_task_stat var =
    task->real_parent release_task call_rcu(delayed_put_task_struct)
    task_tgid_nr_ns(var) rcu_read_lock <--- Too late to protect task->real_parent!
    task_pid_ptr <--- UAF! rcu_read_unlock This patch uses task_ppid_nr_ns() instead
    of task_tgid_nr_ns() to add proper RCU protection for accessing
    task->real_parent.
    CVE-2026-43112
    In the Linux kernel, the following vulnerability has been resolved:
    fs/smb/client: fix out-of-bounds read in cifs_sanitize_prepath When
    cifs_sanitize_prepath is called with an empty string or a string containing only
    delimiters (e.g., /), the current logic attempts to check *(cursor2 - 1)
    before cursor2 has advanced. This results in an out-of-bounds read. This patch
    adds an early exit check after stripping prepended delimiters. If no path
    content remains, the function returns NULL. The bug was identified via manual
    audit and verified using a standalone test case compiled with AddressSanitizer,
    which triggered a SEGV on affected inputs.

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

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://tsn.miraclelinux.com/en/node/24136");
  script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:S/C:C/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:L/UI:N/S:U/C:H/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-2026-43450");

  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_severity", value:"High");

  script_set_attribute(attribute:"vuln_publication_date", value:"2026/03/27");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/07/21");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/07/21");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:bpftool");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-abi-stablelists");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-core");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-cross-headers");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-debug");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-debug-core");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-debug-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-debug-modules");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-debug-modules-extra");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-headers");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-modules");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-modules-extra");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-tools");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-tools-libs");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:kernel-tools-libs-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:perf");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:miracle:linux:python3-perf");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:miracle:linux:8");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Miracle 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/local_checks_enabled", "Host/MiracleLinux/release", "Host/MiracleLinux/rpm-list", "Host/cpu");

  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) || 'MIRACLE LINUX' >!< os_product) audit(AUDIT_OS_NOT, 'MIRACLE LINUX');
var os_version = get_kb_item('installed_os/local/SSH/0/version');
if (isnull(os_version)) audit(AUDIT_UNKNOWN_APP_VER, 'MIRACLE LINUX');
if (! preg(pattern:"^8([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'MiracleLinux 8.x', 'MIRACLE LINUX ' + os_version);

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

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

var constraints = [
  {
    'release': '8',
    'pkgs': [
      {'reference':'bpftool-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-abi-stablelists-4.18.0-553.141.2.el8_10', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-core-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-cross-headers-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-debug-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-debug-core-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-debug-devel-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-debug-modules-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-debug-modules-extra-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-devel-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-headers-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-modules-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-modules-extra-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-tools-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-tools-libs-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'kernel-tools-libs-devel-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'perf-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'python3-perf-4.18.0-553.141.2.el8_10', 'cpu':'x86_64', 'el_string':'el8_10', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'}
    ]
  }
];

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;
foreach var constraint ( constraints ) {
  # Check that the target release is equal to the affected release
  if (!empty_or_null(constraint['release'])){
    if (constraint['release'] != os_release) continue;
  }
  if (!empty_or_null(constraint['sp'])){
    if (constraint['sp'] != os_sp) continue;
  }
  foreach var pkg ( constraint['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(pkg['reference'])) reference = pkg['reference'];
    if (!empty_or_null(pkg['sp'])) sp = pkg['sp'];
    if (!empty_or_null(pkg['cpu'])) _cpu = pkg['cpu'];
    if (!empty_or_null(pkg['el_string'])) el_string = pkg['el_string'];
    if (!empty_or_null(pkg['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = pkg['rpm_spec_vers_cmp'];
    if (!empty_or_null(pkg['epoch'])) epoch = pkg['epoch'];
    if (!empty_or_null(pkg['allowmaj'])) allowmaj = pkg['allowmaj'];
    if (!empty_or_null(pkg['exists_check'])) exists_check = pkg['exists_check'];
    if (!empty_or_null(pkg['cves'])) cves = pkg['cves'];
    if (reference &&
        ## (no known rpm to check OR known rpm_exists)
        (!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 (flag)
{
  security_report_v4(
      port       : 0,
      severity   : SECURITY_WARNING,
      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, 'bpftool / kernel / kernel-abi-stablelists / kernel-core / 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