CentOS Linux 7 [TuxCare] Security Update: bpftool / kernel / kernel-debug / kernel-debug-devel / kernel-devel / etc Multiple Vulnerabilities (CENTOS7:CLSA-2025:1740075135)
10
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(360653);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/10/01");
script_cve_id(
"CVE-2024-35849",
"CVE-2024-53104",
"CVE-2024-53239",
"CVE-2024-56759"
);
script_xref(name:"CISA-KNOWN-EXPLOITED", value:"2025/02/26");
script_xref(name:"CLSA", value:"2025:1740075135");
script_name(english:"CentOS Linux 7 [TuxCare] Security Update: bpftool / kernel / kernel-debug / kernel-debug-devel / kernel-devel / etc Multiple Vulnerabilities (CENTOS7:CLSA-2025:1740075135)");
script_set_attribute(attribute:"synopsis", value:
"The CentOS Linux host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"The CentOS Linux 7 host has packages installed that are affected by multiple vulnerabilities as referenced in the
TuxCare CENTOS7:CLSA-2025:1740075135 advisory.
- In the Linux kernel, the following vulnerability has been resolved: btrfs: fix information leak in
btrfs_ioctl_logical_to_ino() Syzbot reported the following information leak for in
btrfs_ioctl_logical_to_ino(): BUG: KMSAN: kernel-infoleak in instrument_copy_to_user
include/linux/instrumented.h:114 [inline] BUG: KMSAN: kernel-infoleak in _copy_to_user+0xbc/0x110
lib/usercopy.c:40 instrument_copy_to_user include/linux/instrumented.h:114 [inline]
_copy_to_user+0xbc/0x110 lib/usercopy.c:40 copy_to_user include/linux/uaccess.h:191 [inline]
btrfs_ioctl_logical_to_ino+0x440/0x750 fs/btrfs/ioctl.c:3499 btrfs_ioctl+0x714/0x1260 vfs_ioctl
fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:904 [inline] __se_sys_ioctl+0x261/0x450 fs/ioctl.c:890
__x64_sys_ioctl+0x96/0xe0 fs/ioctl.c:890 x64_sys_call+0x1883/0x3b50
arch/x86/include/generated/asm/syscalls_64.h:17 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f Uninit was
created at: __kmalloc_large_node+0x231/0x370 mm/slub.c:3921 __do_kmalloc_node mm/slub.c:3954 [inline]
__kmalloc_node+0xb07/0x1060 mm/slub.c:3973 kmalloc_node include/linux/slab.h:648 [inline]
kvmalloc_node+0xc0/0x2d0 mm/util.c:634 kvmalloc include/linux/slab.h:766 [inline]
init_data_container+0x49/0x1e0 fs/btrfs/backref.c:2779 btrfs_ioctl_logical_to_ino+0x17c/0x750
fs/btrfs/ioctl.c:3480 btrfs_ioctl+0x714/0x1260 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl
fs/ioctl.c:904 [inline] __se_sys_ioctl+0x261/0x450 fs/ioctl.c:890 __x64_sys_ioctl+0x96/0xe0 fs/ioctl.c:890
x64_sys_call+0x1883/0x3b50 arch/x86/include/generated/asm/syscalls_64.h:17 do_syscall_x64
arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f Bytes 40-65535 of 65536 are uninitialized Memory access of size
65536 starts at ffff888045a40000 This happens, because we're copying a 'struct btrfs_data_container' back
to user-space. This btrfs_data_container is allocated in 'init_data_container()' via kvmalloc(), which
does not zero-fill the memory. Fix this by using kvzalloc() which zeroes out the memory on allocation.
(CVE-2024-35849)
- In the Linux kernel, the following vulnerability has been resolved: media: uvcvideo: Skip parsing frames
of type UVC_VS_UNDEFINED in uvc_parse_format This can lead to out of bounds writes since frames of this
type were not taken into account when calculating the size of the frames buffer in uvc_parse_streaming.
(CVE-2024-53104)
- In the Linux kernel, the following vulnerability has been resolved: ALSA: 6fire: Release resources at card
release The current 6fire code tries to release the resources right after the call of
usb6fire_chip_abort(). But at this moment, the card object might be still in use (as we're calling
snd_card_free_when_closed()). For avoid potential UAFs, move the release of resources to the card's
private_free instead of the manual call of usb6fire_chip_destroy() at the USB disconnect callback.
(CVE-2024-53239)
- In the Linux kernel, the following vulnerability has been resolved: btrfs: fix use-after-free when COWing
tree bock and tracing is enabled When a COWing a tree block, at btrfs_cow_block(), and we have the
tracepoint trace_btrfs_cow_block() enabled and preemption is also enabled (CONFIG_PREEMPT=y), we can
trigger a use-after-free in the COWed extent buffer while inside the tracepoint code. This is because in
some paths that call btrfs_cow_block(), such as btrfs_search_slot(), we are holding the last reference on
the extent buffer @buf so btrfs_force_cow_block() drops the last reference on the @buf extent buffer when
it calls free_extent_buffer_stale(buf), which schedules the release of the extent buffer with RCU. This
means that if we are on a kernel with preemption, the current task may be preempted before calling
trace_btrfs_cow_block() and the extent buffer already released by the time trace_btrfs_cow_block() is
called, resulting in a use-after-free. Fix this by moving the trace_btrfs_cow_block() from
btrfs_cow_block() to btrfs_force_cow_block() before the COWed extent buffer is freed. This also has a side
effect of invoking the tracepoint in the tree defrag code, at defrag.c:btrfs_realloc_node(), since
btrfs_force_cow_block() is called there, but this is fine and it was actually missing there.
(CVE-2024-56759)
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/centos7els/advisories/2025/clsa-2025_1740075135.json
script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?85d026d6");
script_set_attribute(attribute:"see_also", value:"https://cve.tuxcare.com/els/releases/CLSA-2025:1740075135");
script_set_attribute(attribute:"solution", value:
"Update the affected packages based on the guidance in TuxCare advisory CENTOS7:CLSA-2025:1740075135.");
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:F/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:F/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2024-56759");
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/04/09");
script_set_attribute(attribute:"patch_publication_date", value:"2025/02/20");
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:"CentOS 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/CentOS/release", "Host/CentOS/rpm-list");
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) || 'CentOS Linux' >!< os_product) audit(AUDIT_OS_NOT, 'CentOS Linux');
var os_version = get_kb_item('installed_os/local/SSH/0/version');
if (isnull(os_version)) audit(AUDIT_UNKNOWN_APP_VER, 'CentOS Linux');
if (! preg(pattern:"^7([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'CentOS Linux 7', 'CentOS Linux ' + os_version);
if (!get_kb_item('Host/CentOS/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, 'CentOS Linux', cpu);
var constraints = [
{
'release': '7',
'pkgs': [
{'reference':'bpftool-3.10.0-1160.119.1.el7.tuxcare.els16', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-3.10.0-1160.119.1.el7.tuxcare.els16', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-3.10.0-1160.119.1.el7.tuxcare.els16', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-debug-devel-3.10.0-1160.119.1.el7.tuxcare.els16', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-devel-3.10.0-1160.119.1.el7.tuxcare.els16', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-headers-3.10.0-1160.119.1.el7.tuxcare.els16', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-tools-3.10.0-1160.119.1.el7.tuxcare.els16', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-tools-libs-3.10.0-1160.119.1.el7.tuxcare.els16', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
{'reference':'kernel-tools-libs-devel-3.10.0-1160.119.1.el7.tuxcare.els16', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
{'reference':'perf-3.10.0-1160.119.1.el7.tuxcare.els16', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE},
{'reference':'python-perf-3.10.0-1160.119.1.el7.tuxcare.els16', 'cpu':'x86_64', '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-debug / kernel-debug-devel / kernel-devel / 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
01 Oct 2026 00:00Current
6.4Medium risk
Vulners AI Score6.4
CVSS 3.17.8
EPSS0.03395
SSVC