AlmaLinux 9.2 [TuxCare] Security Update: bpftool / kernel / kernel-abi-stablelists / kernel-core / etc Multiple Vulnerabilities (ALMALINUX9.2:CLSA-2025:1749480611)
10
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(361420);
script_version("1.2");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/10/02");
script_cve_id(
"CVE-2022-49006",
"CVE-2022-49014",
"CVE-2022-49029",
"CVE-2023-52930",
"CVE-2023-53794",
"CVE-2024-38577",
"CVE-2024-42305",
"CVE-2024-43873",
"CVE-2024-44934",
"CVE-2024-46786",
"CVE-2024-46828",
"CVE-2024-47718",
"CVE-2024-47748",
"CVE-2024-49983",
"CVE-2024-50083",
"CVE-2024-50128",
"CVE-2024-50186",
"CVE-2024-50215",
"CVE-2024-53174",
"CVE-2024-53208",
"CVE-2024-53237",
"CVE-2024-56558",
"CVE-2024-56663",
"CVE-2025-21756",
"CVE-2025-22020",
"CVE-2025-22056"
);
script_xref(name:"CLSA", value:"2025:1749480611");
script_name(english:"AlmaLinux 9.2 [TuxCare] Security Update: bpftool / kernel / kernel-abi-stablelists / kernel-core / etc Multiple Vulnerabilities (ALMALINUX9.2:CLSA-2025:1749480611)");
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.2 host has packages installed that are affected by multiple vulnerabilities as referenced in the TuxCare
ALMALINUX9.2:CLSA-2025:1749480611 advisory.
- In the Linux kernel, the following vulnerability has been resolved: tracing: Free buffers when a used
dynamic event is removed After 65536 dynamic events have been added and removed, the type field of the
event then uses the first type number that is available (not currently used by other events). A type
number is the identifier of the binary blobs in the tracing ring buffer (known as events) to map them to
logic that can parse the binary blob. The issue is that if a dynamic event (like a kprobe event) is traced
and is in the ring buffer, and then that event is removed (because it is dynamic, which means it can be
created and destroyed), if another dynamic event is created that has the same number that new event's
logic on parsing the binary blob will be used. To show how this can be an issue, the following can crash
the kernel: # cd /sys/kernel/tracing # for i in `seq 65536`; do echo 'p:kprobes/foo do_sys_openat2
$arg1:u32' > kprobe_events # done For every iteration of the above, the writing to the kprobe_events will
remove the old event and create a new one (with the same format) and increase the type number to the next
available on until the type number reaches over 65535 which is the max number for the 16 bit type. After
it reaches that number, the logic to allocate a new number simply looks for the next available number.
When an dynamic event is removed, that number is then available to be reused by the next dynamic event
created. That is, once the above reaches the max number, the number assigned to the event in that loop
will remain the same. Now that means deleting one dynamic event and created another will reuse the
previous events type number. This is where bad things can happen. After the above loop finishes, the
kprobes/foo event which reads the do_sys_openat2 function call's first parameter as an integer. # echo 1 >
kprobes/foo/enable # cat /etc/passwd > /dev/null # cat trace cat-2211 [005] .... 2007.849603: foo:
(do_sys_openat2+0x0/0x130) arg1=4294967196 cat-2211 [005] .... 2007.849620: foo:
(do_sys_openat2+0x0/0x130) arg1=4294967196 cat-2211 [005] .... 2007.849838: foo:
(do_sys_openat2+0x0/0x130) arg1=4294967196 cat-2211 [005] .... 2007.849880: foo:
(do_sys_openat2+0x0/0x130) arg1=4294967196 # echo 0 > kprobes/foo/enable Now if we delete the kprobe and
create a new one that reads a string: # echo 'p:kprobes/foo do_sys_openat2 +0($arg2):string' >
kprobe_events And now we can the trace: # cat trace sendmail-1942 [002] ..... 530.136320: foo:
(do_sys_openat2+0x0/0x240) arg1= cat-2046 [004] ..... 530.930817: foo: (do_sys_openat2+0x0/0x240)
arg1=
cat-2046 [004] ..... 530.930961: foo: (do_sys_openat2+0x0/0x240)
arg1=
cat-2046 [004] ..... 530.934278: foo: (do_sys_openat2+0x0/0x240)
arg1=
cat-2046 [004] ..... 530.934563: foo: (do_sys_openat2+0x0/0x240)
arg1= ---truncated--- (CVE-2022-49006)
- In the Linux kernel, the following vulnerability has been resolved: net: tun: Fix use-after-free in
tun_detach() syzbot reported use-after-free in tun_detach() [1]. This causes call trace like below:
================================================================== BUG: KASAN: use-after-free in
notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75 Read of size 8 at addr ffff88807324e2a8 by task syz-
executor.0/3673 CPU: 0 PID: 3673 Comm: syz-executor.0 Not tainted 6.1.0-rc5-syzkaller-00044-gcc675d22e422
#0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 Call Trace:
<TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd1/0x138 lib/dump_stack.c:106
print_address_description mm/kasan/report.c:284 [inline] print_report+0x15e/0x461 mm/kasan/report.c:395
kasan_report+0xbf/0x1f0 mm/kasan/report.c:495 notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75
call_netdevice_notifiers_info+0x86/0x130 net/core/dev.c:1942 call_netdevice_notifiers_extack
net/core/dev.c:1983 [inline] call_netdevice_notifiers net/core/dev.c:1997 [inline] netdev_wait_allrefs_any
net/core/dev.c:10237 [inline] netdev_run_todo+0xbc6/0x1100 net/core/dev.c:10351 tun_detach
drivers/net/tun.c:704 [inline] tun_chr_close+0xe4/0x190 drivers/net/tun.c:3467 __fput+0x27c/0xa90
fs/file_table.c:320 task_work_run+0x16f/0x270 kernel/task_work.c:179 exit_task_work
include/linux/task_work.h:38 [inline] do_exit+0xb3d/0x2a30 kernel/exit.c:820 do_group_exit+0xd4/0x2a0
kernel/exit.c:950 get_signal+0x21b1/0x2440 kernel/signal.c:2858 arch_do_signal_or_restart+0x86/0x2300
arch/x86/kernel/signal.c:869 exit_to_user_mode_loop kernel/entry/common.c:168 [inline]
exit_to_user_mode_prepare+0x15f/0x250 kernel/entry/common.c:203 __syscall_exit_to_user_mode_work
kernel/entry/common.c:285 [inline] syscall_exit_to_user_mode+0x1d/0x50 kernel/entry/common.c:296
do_syscall_64+0x46/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x63/0xcd The cause of
the issue is that sock_put() from __tun_detach() drops last reference count for struct net, and then
notifier_call_chain() from netdev_state_change() accesses that struct net. This patch fixes the issue by
calling sock_put() from tun_detach() after all necessary accesses for the struct net has done.
(CVE-2022-49014)
- In the Linux kernel, the following vulnerability has been resolved: hwmon: (ibmpex) Fix possible UAF when
ibmpex_register_bmc() fails Smatch report warning as follows: drivers/hwmon/ibmpex.c:509
ibmpex_register_bmc() warn: '&data->list' not removed from list If ibmpex_find_sensors() fails in
ibmpex_register_bmc(), data will be freed, but data->list will not be removed from driver_data.bmc_data,
then list traversal may cause UAF. Fix by removeing it from driver_data.bmc_data before free().
(CVE-2022-49029)
- In the Linux kernel, the following vulnerability has been resolved: drm/i915: Fix potential bit_17 double-
free A userspace with multiple threads racing I915_GEM_SET_TILING to set the tiling to I915_TILING_NONE
could trigger a double free of the bit_17 bitmask. (Or conversely leak memory on the transition to tiled.)
Move allocation/free'ing of the bitmask within the section protected by the obj lock. [tursulin: Correct
fixes tag and added cc stable.] (cherry picked from commit 10e0cbaaf1104f449d695c80bcacf930dcd3c42e)
(CVE-2023-52930)
- In the Linux kernel, the following vulnerability has been resolved: cifs: fix session state check in
reconnect to avoid use-after-free issue Don't collect exiting session in smb2_reconnect_server(), because
it will be released soon. Note that the exiting session will stay in server->smb_ses_list until it
complete the cifs_free_ipc() and logoff() and then delete itself from the list. (CVE-2023-53794)
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/almalinux9.2esu/advisories/2025/clsa-2025_1749480611.json
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?c1c87f82");
script_set_attribute(attribute:"see_also", value:"https://cve.tuxcare.com/els/releases/CLSA-2025:1749480611");
script_set_attribute(attribute:"solution", value:
"Update the affected packages based on the guidance in TuxCare advisory ALMALINUX9.2:CLSA-2025:1749480611.");
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:H/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:H/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2025-22056");
script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
script_set_attribute(attribute:"exploit_available", value:"true");
script_set_attribute(attribute:"exploited_by_malware", value:"true");
script_set_attribute(attribute:"vendor_severity", value:"Important");
script_set_attribute(attribute:"vuln_publication_date", value:"2021/07/21");
script_set_attribute(attribute:"patch_publication_date", value:"2025/06/09");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/10/01");
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.2([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'AlmaLinux 9.2', '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 (cpu !~ "^i[3-6]86$" && 'x86_64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'AlmaLinux', cpu);
var constraints = [
{
'release': '9',
'sp': '2',
'pkgs': [
{'reference':'bpftool-7.0.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-abi-stablelists-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-core-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-cross-headers-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-core-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-devel-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-devel-matched-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-modules-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-modules-core-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-modules-extra-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-modules-internal-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-modules-partner-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-uki-virt-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-devel-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-devel-matched-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-headers-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-ipaclones-internal-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-modules-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-modules-core-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-modules-extra-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-modules-internal-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-modules-partner-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-selftests-internal-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-tools-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-tools-libs-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-tools-libs-devel-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-uki-virt-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'libbpf-1.0.0-2.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'i686', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE, 'epoch':'2'},
{'reference':'libbpf-1.0.0-2.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE, 'epoch':'2'},
{'reference':'libbpf-devel-1.0.0-2.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'i686', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE, 'epoch':'2'},
{'reference':'libbpf-devel-1.0.0-2.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE, 'epoch':'2'},
{'reference':'libbpf-static-1.0.0-2.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'i686', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE, 'epoch':'2'},
{'reference':'libbpf-static-1.0.0-2.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE, 'epoch':'2'},
{'reference':'perf-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python3-perf-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', 'rpm_spec_vers_cmp':TRUE},
{'reference':'rtla-5.14.0-284.1101.el9_2.tuxcare.7.els14', 'sp':'2', 'cpu':'x86_64', 'el_string':'el9_2', '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, '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
02 Oct 2026 00:00Current
6.9Medium risk
Vulners AI Score6.9
CVSS 3.17.8 - 9.8
EPSS0.00891
SSVC