AlmaLinux 9.6 [TuxCare] 安全更新:kernel / kernel-abi-stablelists / kernel-core / 等多个漏洞 (ALMALINUX9.6:CLSA-2026:1787305050)

high Nessus 插件 ID 352220

简介

AlmaLinux 主机缺少一个或多个安全更新。

描述

AlmaLinux 9.6 主机上存在安装的程序包,该程序包受到 TuxCare ALMALINUX9.6:CLSA-2026:2026:1787305050公告中提及的多个漏洞的影响。

- 已修复 Linux 内核中的下列漏洞: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)

- 已修复 Linux 内核中的下列漏洞: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)

- 已修复 Linux 内核中的下列漏洞: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)

- 已修复 Linux 内核中的下列漏洞: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)

- 已修复 Linux 内核中的下列漏洞: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)

请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

根据 TuxCare 公告 ALMALINUX9.6:CLSA-2026:1787305050 中的指南更新受影响的程序包。

另见

https://cve.tuxcare.com/els/releases/CLSA-2026:1787305050

http://www.nessus.org/u?58ac8a8b

插件详情

严重性: High

ID: 352220

文件名: tuxcare_alma_linux_9.6_CLSA-2026-1787305050.nasl

版本: 1.1

类型: Local

发布时间: 2026/9/30

最近更新时间: 2026/9/30

支持的传感器: Nessus Agent, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

风险信息

VPR

风险因素: High

分数: 7.9

百分位: 99.36

Vendor

Vendor Severity: Important

CVSS v2

风险因素: Medium

基本分数: 6.8

时间分数: 5.3

矢量: CVSS2#AV:L/AC:L/Au:S/C:C/I:C/A:C

CVSS 分数来源: CVE-2026-64225

CVSS v3

风险因素: High

基本分数: 7.8

时间分数: 7

矢量: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:P/RL:O/RC:C

漏洞信息

必需的 KB 项: Host/local_checks_enabled, Host/cpu, Host/AlmaLinux/release, Host/AlmaLinux/rpm-list, Host/OS/extended-third-party

可利用: true

易利用性: Exploits are available

补丁发布日期: 2026/8/21

漏洞发布日期: 2024/10/21

参考资料信息

CVE: 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

CLSA: 2026:1787305050