Lucene search
+L

AlmaLinux 9.6 [TuxCare] Security Update: kernel / kernel-abi-stablelists / kernel-core / etc Multiple Vulnerabilities (ALMALINUX9.6:CLSA-2026:1787305050)

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

Multiple kernel vulnerabilities in AlmaLinux 9.6 involving l2tp and mm/thp.

Related
Refs
Code
ReporterTitlePublishedViews
Family
githubexploit
GithubExploit
Exploit for CVE-2026-68138
17 Aug 202607:33
–githubexploit
githubexploit
GithubExploit
PPPoEject
18 Sep 202604:38
–githubexploit
githubexploit
GithubExploit
Exploit for CVE-2026-68138
11 Aug 202622:22
–githubexploit
githubexploit
GithubExploit
Exploit for CVE-2026-64564
10 Aug 202605:16
–githubexploit
githubexploit
GithubExploit
Exploit for CVE-2026-64564
19 Aug 202611:55
–githubexploit
ibm
IBM Security Bulletins
Security Bulletin: IBM Guardium Data Protection is affected by multiple vulnerabilities
7 Sep 202606:51
–ibm
attackerkb
attackerkb
CVE-2026-46137
28 May 202609:35
–attackerkb
attackerkb
attackerkb
CVE-2026-23313
25 Mar 202610:27
–attackerkb
attackerkb
attackerkb
CVE-2026-23230
18 Feb 202614:53
–attackerkb
attackerkb
attackerkb
CVE-2026-23054
4 Feb 202616:04
–attackerkb
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

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

  script_cve_id(
    "CVE-2024-49940",
    "CVE-2024-53079",
    "CVE-2025-21836",
    "CVE-2025-21901",
    "CVE-2025-23137",
    "CVE-2025-23154",
    "CVE-2025-37744",
    "CVE-2025-39830",
    "CVE-2025-39834",
    "CVE-2025-39956",
    "CVE-2025-39959",
    "CVE-2025-39969",
    "CVE-2025-39978",
    "CVE-2025-40187",
    "CVE-2025-40200",
    "CVE-2025-40204",
    "CVE-2025-68218",
    "CVE-2025-68245",
    "CVE-2025-68265",
    "CVE-2025-68291",
    "CVE-2025-68312",
    "CVE-2025-68740",
    "CVE-2025-68764",
    "CVE-2025-71295",
    "CVE-2026-23054",
    "CVE-2026-23230",
    "CVE-2026-23274",
    "CVE-2026-23282",
    "CVE-2026-23297",
    "CVE-2026-23313",
    "CVE-2026-31389",
    "CVE-2026-31392",
    "CVE-2026-31473",
    "CVE-2026-31530",
    "CVE-2026-31693",
    "CVE-2026-31698",
    "CVE-2026-31786",
    "CVE-2026-43010",
    "CVE-2026-43325",
    "CVE-2026-43350",
    "CVE-2026-43383",
    "CVE-2026-43408",
    "CVE-2026-43487",
    "CVE-2026-45880",
    "CVE-2026-45925",
    "CVE-2026-46005",
    "CVE-2026-46115",
    "CVE-2026-46137",
    "CVE-2026-46327",
    "CVE-2026-52909",
    "CVE-2026-52981",
    "CVE-2026-53205",
    "CVE-2026-53206",
    "CVE-2026-53221",
    "CVE-2026-53251",
    "CVE-2026-53291",
    "CVE-2026-53321",
    "CVE-2026-64097",
    "CVE-2026-64166",
    "CVE-2026-64225",
    "CVE-2026-64237",
    "CVE-2026-64266",
    "CVE-2026-64279",
    "CVE-2026-64298",
    "CVE-2026-64564",
    "CVE-2026-68110",
    "CVE-2026-68121",
    "CVE-2026-68138",
    "CVE-2026-68143",
    "CVE-2026-68153",
    "CVE-2026-68158",
    "CVE-2026-68250",
    "CVE-2026-68251",
    "CVE-2026-68286",
    "CVE-2026-68300",
    "CVE-2026-68309",
    "CVE-2026-68320",
    "CVE-2026-68324",
    "CVE-2026-68336",
    "CVE-2026-68365",
    "CVE-2026-68397",
    "CVE-2026-68402",
    "CVE-2026-68426",
    "CVE-2026-68430",
    "CVE-2026-68433",
    "CVE-2026-68439",
    "CVE-2026-68444"
  );
  script_xref(name:"CLSA", value:"2026:1787305050");

  script_name(english:"AlmaLinux 9.6 [TuxCare] Security Update: kernel / kernel-abi-stablelists / kernel-core / etc Multiple Vulnerabilities (ALMALINUX9.6:CLSA-2026:1787305050)");

  script_set_attribute(attribute:"synopsis", value:
"The AlmaLinux host is missing one or more security updates.");
  script_set_attribute(attribute:"description", value:
"The AlmaLinux 9.6 host has packages installed that are affected by multiple vulnerabilities as referenced in the TuxCare
ALMALINUX9.6:CLSA-2026:1787305050 advisory.

  - In the Linux kernel, the following vulnerability has been resolved: l2tp: prevent possible tunnel refcount
    underflow When a session is created, it sets a backpointer to its tunnel. When the session refcount drops
    to 0, l2tp_session_free drops the tunnel refcount if session->tunnel is non-NULL. However, session->tunnel
    is set in l2tp_session_create, before the tunnel refcount is incremented by l2tp_session_register, which
    leaves a small window where session->tunnel is non-NULL when the tunnel refcount hasn't been bumped.
    Moving the assignment to l2tp_session_register is trivial but l2tp_session_create calls
    l2tp_session_set_header_len which uses session->tunnel to get the tunnel's encap. Add an encap arg to
    l2tp_session_set_header_len to avoid using session->tunnel. If l2tpv3 sessions have colliding IDs, it is
    possible for l2tp_v3_session_get to race with l2tp_session_register and fetch a session which doesn't yet
    have session->tunnel set. Add a check for this case. (CVE-2024-49940)

  - In the Linux kernel, the following vulnerability has been resolved: mm/thp: fix deferred split unqueue
    naming and locking Recent changes are putting more pressure on THP deferred split queues: under load
    revealing long-standing races, causing list_del corruptions, Bad page states and worse (I keep BUGs in
    both of those, so usually don't get to see how badly they end up without). The relevant recent changes
    being 6.8's mTHP, 6.10's mTHP swapout, and 6.12's mTHP swapin, improved swap allocation, and underused THP
    splitting. Before fixing locking: rename misleading folio_undo_large_rmappable(), which does not undo
    large_rmappable, to folio_unqueue_deferred_split(), which is what it does. But that and its out-of-line
    __callee are mm internals of very limited usability: add comment and WARN_ON_ONCEs to check usage; and
    return a bool to say if a deferred split was unqueued, which can then be used in WARN_ON_ONCEs around
    safety checks (sparing callers the arcane conditionals in __folio_unqueue_deferred_split()). Just omit the
    folio_unqueue_deferred_split() from free_unref_folios(), all of whose callers now call it beforehand (and
    if any forget then bad_page() will tell) - except for its caller put_pages_list(), which itself no longer
    has any callers (and will be deleted separately). Swapout: mem_cgroup_swapout() has been resetting
    folio->memcg_data 0 without checking and unqueueing a THP folio from deferred split list; which is
    unfortunate, since the split_queue_lock depends on the memcg (when memcg is enabled); so swapout has been
    unqueueing such THPs later, when freeing the folio, using the pgdat's lock instead: potentially corrupting
    the memcg's list. __remove_mapping() has frozen refcount to 0 here, so no problem with calling
    folio_unqueue_deferred_split() before resetting memcg_data. That goes back to 5.4 commit 87eaceb3faa5
    (mm: thp: make deferred split shrinker memcg aware): which included a check on swapcache before adding
    to deferred queue, but no check on deferred queue before adding THP to swapcache. That worked fine with
    the usual sequence of events in reclaim (though there were a couple of rare ways in which a THP on
    deferred queue could have been swapped out), but 6.12 commit dafff3f4c850 (mm: split underused THPs)
    avoids splitting underused THPs in reclaim, which makes swapcache THPs on deferred queue commonplace. Keep
    the check on swapcache before adding to deferred queue? Yes: it is no longer essential, but preserves the
    existing behaviour, and is likely to be a worthwhile optimization (vmstat showed much more traffic on the
    queue under swapping load if the check was removed); update its comment. Memcg-v1 move (deprecated):
    mem_cgroup_move_account() has been changing folio->memcg_data without checking and unqueueing a THP folio
    from the deferred list, sometimes corrupting from memcg's list, like swapout. Refcount is non-zero here,
    so folio_unqueue_deferred_split() can only be used in a WARN_ON_ONCE to validate the fix, which must be
    done earlier: mem_cgroup_move_charge_pte_range() first try to split the THP (splitting of course
    unqueues), or skip it if that fails. Not ideal, but moving charge has been requested, and khugepaged
    should repair the THP later: nobody wants new custom unqueueing code just for this deprecated case. The
    87eaceb3faa5 commit did have the code to move from one deferred list to another (but was not conscious of
    its unsafety while refcount non-0); but that was removed by 5.6 commit fac0516b5534 (mm: thp: don't need
    care deferred split queue in memcg charge move path), which argued that the existence of a PMD mapping
    guarantees that the THP cannot be on a deferred list. As above, false in rare cases, and now commonly
    false. Backport to 6.11 should be straightforward. Earlier backports must take care that other
    _deferred_list fixes and dependencies are included. There is not a strong case for backports, but they can
    fix cornercases. (CVE-2024-53079)

  - In the Linux kernel, the following vulnerability has been resolved: io_uring/kbuf: reallocate buf lists on
    upgrade IORING_REGISTER_PBUF_RING can reuse an old struct io_buffer_list if it was created for legacy
    selected buffer and has been emptied. It violates the requirement that most of the field should stay
    stable after publish. Always reallocate it instead. (CVE-2025-21836)

  - In the Linux kernel, the following vulnerability has been resolved: RDMA/bnxt_re: Add sanity checks on
    rdev validity There is a possibility that ulp_irq_stop and ulp_irq_start callbacks will be called when the
    device is in detached state. This can cause a crash due to NULL pointer dereference as the rdev is already
    freed. (CVE-2025-21901)

  - In the Linux kernel, the following vulnerability has been resolved: cpufreq/amd-pstate: Add missing NULL
    ptr check in amd_pstate_update Check if policy is NULL before dereferencing it in amd_pstate_update.
    (CVE-2025-23137)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  # https://security.tuxcare.com/csaf/v2/els_os/tuxcare9.6esu/advisories/2026/clsa-2026_1787305050.json
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?58ac8a8b");
  script_set_attribute(attribute:"see_also", value:"https://cve.tuxcare.com/els/releases/CLSA-2026:1787305050");
  script_set_attribute(attribute:"solution", value:
"Update the affected packages based on the guidance in TuxCare advisory ALMALINUX9.6:CLSA-2026:1787305050.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:S/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:POC/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:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-64225");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"vendor_severity", value:"Important");

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

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Alma 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_info2.nasl");
  script_require_keys("Host/OS/extended-third-party", "Host/local_checks_enabled", "Host/AlmaLinux/release", "Host/AlmaLinux/rpm-list", "Host/cpu");

  exit(0);
}
include('rpm2.inc');

var third_party_support = get_kb_item('Host/OS/extended-third-party');
if (empty_or_null(third_party_support) || third_party_support != 'TuxCare') exit(0, 'TuxCare support not enabled.');

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

if (!get_kb_item('Host/AlmaLinux/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) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'AlmaLinux', cpu);


var constraints = [
  {
    'release': '9',
    'sp': '6',
    'pkgs': [
      {'reference':'kernel-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-abi-stablelists-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-core-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-cross-headers-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-debug-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-debug-core-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-debug-devel-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-debug-devel-matched-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-debug-modules-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-debug-modules-core-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-debug-modules-extra-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-debug-modules-internal-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-debug-modules-partner-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-debug-uki-virt-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-debug-uki-virt-addons-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-devel-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-devel-matched-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-headers-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-ipaclones-internal-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-modules-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-modules-core-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-modules-extra-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-modules-internal-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-modules-partner-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-core-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-debug-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-debug-core-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-debug-devel-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-debug-devel-matched-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-debug-kvm-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-debug-modules-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-debug-modules-core-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-debug-modules-extra-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-debug-modules-internal-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-debug-modules-partner-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-devel-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-devel-matched-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-kvm-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-modules-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-modules-core-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-modules-extra-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-modules-internal-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-rt-modules-partner-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-selftests-internal-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-tools-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-tools-libs-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-tools-libs-devel-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-uki-virt-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-uki-virt-addons-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'libperf-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'libperf-devel-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'perf-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'python3-perf-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'rtla-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'rv-5.14.0-570.62.1.el9_6.tuxcare.5.els12', 'sp':'6', 'cpu':'x86_64', 'el_string':'el9_6', 'rpm_spec_vers_cmp':TRUE}
    ]
  }
];

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

30 Sep 2026 00:00Current
5.9Medium risk
Vulners AI Score5.9
CVSS 3.15.5 - 9.8
EPSS0.01411
SSVC
6