CentOS Linux 8.4 [TuxCare] 安全更新:bpftool / kernel / kernel-core / kernel-cross-headers / 等多个漏洞 (CENTOS8.4:CLSA-2026:1792749577)

high Nessus 插件 ID 371225

简介

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

描述

CentOS Linux 8.4 主机上存在安装的程序包,该程序包受到 TuxCare CENTOS8.4:CLSA-2026:2026:1792749577公告中提及的多个漏洞的影响。

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

- 已修复 Linux 内核中的下列漏洞:net: skbuff: propagate shared-frag marker through frag-transfer helpers Two frag-transfer helpers (__pskb_copy_fclone() and skb_shift()) fail to propagate the SKBFL_SHARED_FRAG bit in skb_shinfo()->flags when moving frags from source to destination. __pskb_copy_fclone() defers the rest of the shinfo metadata to skb_copy_header() after copying frag descriptors, but that helper only carries over gso_{size,segs, type} and never touches skb_shinfo()->flags; skb_shift() moves frag descriptors directly and leaves flags untouched. As a result, the destination skb keeps a reference to the same externally-owned or page-cache-backed pages while reporting skb_has_shared_frag() as false. The mismatch is harmful in any in-place writer that uses skb_has_shared_frag() to decide whether shared pages must be detoured through skb_cow_data(). ESP input is one such writer (esp4.c, esp6.c), and a single nft 'dup to <local>' rule -- or any other nf_dup_ipv4() / xt_TEE caller -- is enough to land a pskb_copy()'d skb in esp_input() with the marker stripped, letting an unprivileged user write into the page cache of a root-owned read-only file via authencesn-ESN stray writes. Set SKBFL_SHARED_FRAG on the destination whenever frag descriptors were actually moved from the source. skb_copy() and skb_copy_expand() share skb_copy_header() too but linearize all paged data into freshly allocated head storage and emerge with nr_frags == 0, so skb_has_shared_frag() returns false on its own; they need no change. The same omission exists in skb_gro_receive() and skb_gro_receive_list().
The former moves the incoming skb's frag descriptors into the accumulator's last sub-skb via two paths (a direct frag-move loop and the head_frag + memcpy path); the latter chains the incoming skb whole onto p's frag_list. Downstream skb_segment() reads only skb_shinfo(p)->flags, and skb_segment_list() reuses each sub-skb's shinfo as the nskb -- both p and lp must carry the marker. The same omission also exists in tcp_clone_payload(), which builds an MTU probe skb by moving frag descriptors from skbs on sk_write_queue into a freshly allocated nskb. The helper falls into the same family and warrants the same fix for consistency; no TCP TX-side in-place writer is currently known to reach a user page through this gap, but a future consumer depending on the marker would regress silently. The same omission exists in skb_segment(): the per-iteration flag merge takes only head_skb's flag, and the inner switch that rebinds frag_skb to list_skb on head_skb-frags exhaustion does not fold the new frag_skb's flag into nskb. Fold frag_skb's flag at both sites so segments drawing frags from frag_list members carry the marker.
(CVE-2026-43503)

- 已修复 Linux 内核中的下列漏洞:RDMA/uverbs: Validate wqe_size before using it in ib_uverbs_post_send ib_uverbs_post_send() uses cmd.wqe_size from userspace without any validation before passing it to kmalloc() and using the allocated buffer as struct ib_uverbs_send_wr. If a user provides a small wqe_size value (e.g., 1), kmalloc() will succeed, but subsequent accesses to user_wr->opcode, user_wr->num_sge, and other fields will read beyond the allocated buffer, resulting in an out-of-bounds read from kernel heap memory. This could potentially leak sensitive kernel information to userspace. Additionally, providing an excessively large wqe_size can trigger a WARNING in the memory allocation path, as reported by syzkaller. This is inconsistent with ib_uverbs_unmarshall_recv() which properly validates that wqe_size >= sizeof(struct ib_uverbs_recv_wr) before proceeding. Add the same validation for ib_uverbs_post_send() to ensure wqe_size is at least sizeof(struct ib_uverbs_send_wr).
(CVE-2026-45856)

- 已修复 Linux 内核中的下列漏洞:crypto: authencesn - reject short ahash digests during instance creation authencesn requires either a zero authsize or an authsize of at least 4 bytes because the ESN encrypt/decrypt paths always move 4 bytes of high-order sequence number data at the end of the authenticated data. While crypto_authenc_esn_setauthsize() already rejects explicit non-zero authsizes in the range 1..3, crypto_authenc_esn_create() still copied auth->digestsize into inst->alg.maxauthsize without validating it. The AEAD core then initialized the tfm's default authsize from that value. As a result, selecting an ahash with digest size 1..3, such as cbcmac(cipher_null), exposed authencesn instances whose default authsize was invalid even though setauthsize() would have rejected the same value. AF_ALG could then trigger the ESN tail handling with a too-short tag and hit an out-of-bounds access. Reject authencesn instances whose ahash digest size is in the invalid non-zero range 1..3 so that no tfm can inherit an unsupported default authsize. (CVE-2026-46033)

- 已修复 Linux 内核中的下列漏洞:RDMA/rxe: Validate pad and ICRC before payload_size() in rxe_rcv rxe_rcv() currently checks only that the incoming packet is at least header_size(pkt) bytes long before payload_size() is used. However, payload_size() subtracts both the attacker-controlled BTH pad field and RXE_ICRC_SIZE from pkt->paylen: payload_size = pkt->paylen - offset[RXE_PAYLOAD] - bth_pad(pkt) - RXE_ICRC_SIZE This means a short packet can still make payload_size() underflow even if it includes enough bytes for the fixed headers. Simply requiring header_size(pkt) + RXE_ICRC_SIZE is not sufficient either, because a packet with a forged non-zero BTH pad can still leave payload_size() negative and pass an underflowed value to later receive-path users. Fix this by validating pkt->paylen against the full minimum length required by payload_size(): header_size(pkt) + bth_pad(pkt) + RXE_ICRC_SIZE. (CVE-2026-46043)

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

解决方案

根据 TuxCare 公告 CENTOS8.4:CLSA-2026:1792749577 2 中的指南更新受影响的程序包。

另见

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

http://www.nessus.org/u?8c8e68ea

插件详情

严重性: High

ID: 371225

文件名: tuxcare_centos_8.4_CLSA-2026-1792749577.nasl

版本: 1.1

类型: Local

代理: unix

发布时间: 2026/10/23

最近更新时间: 2026/10/23

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

风险信息

VPR

风险因素: Critical

分数: 9.2

百分位: 99.77

Vendor

Vendor Severity: Critical

CVSS v2

风险因素: Medium

基本分数: 6.8

时间分数: 5.6

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

CVSS 分数来源: CVE-2026-64362

CVSS v3

风险因素: High

基本分数: 7.8

时间分数: 7.2

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

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

漏洞信息

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2026/10/23

漏洞发布日期: 2023/9/7

参考资料信息

CVE: CVE-2023-53794, CVE-2026-43503, CVE-2026-45856, CVE-2026-46033, CVE-2026-46043, CVE-2026-46056, CVE-2026-46069, CVE-2026-46149, CVE-2026-46181, CVE-2026-46189, CVE-2026-46331, CVE-2026-52920, CVE-2026-52956, CVE-2026-52957, CVE-2026-53004, CVE-2026-53006, CVE-2026-53009, CVE-2026-53016, CVE-2026-53053, CVE-2026-53072, CVE-2026-53075, CVE-2026-53078, CVE-2026-53129, CVE-2026-53149, CVE-2026-53195, CVE-2026-53228, CVE-2026-53239, CVE-2026-53268, CVE-2026-53392, CVE-2026-63800, CVE-2026-63962, CVE-2026-63994, CVE-2026-64002, CVE-2026-64276, CVE-2026-64362, CVE-2026-64471, CVE-2026-64483, CVE-2026-72157, CVE-2026-72383, CVE-2026-72413, CVE-2026-72476, CVE-2026-74282, CVE-2026-74283, CVE-2026-74359, CVE-2026-74408, CVE-2026-74444, CVE-2026-74469, CVE-2026-74480, CVE-2026-74498, CVE-2026-74505, CVE-2026-74540, CVE-2026-74550, CVE-2026-74581, CVE-2026-80622, CVE-2026-80681, CVE-2026-80714, CVE-2026-89448, CVE-2026-89481, CVE-2026-89548, CVE-2026-89553, CVE-2026-89559, CVE-2026-89575, CVE-2026-89637, CVE-2026-89699, CVE-2026-89892, CVE-2026-89893, CVE-2026-89932, CVE-2026-89965, CVE-2026-89972, CVE-2026-90011, CVE-2026-90033, CVE-2026-90057, CVE-2026-90116, CVE-2026-90329, CVE-2026-93104, CVE-2026-93117, CVE-2026-93163, CVE-2026-93175, CVE-2026-93817, CVE-2026-93826, CVE-2026-97408, CVE-2026-97448, CVE-2026-97509, CVE-2026-97531, CVE-2026-97539, CVE-2026-97564, CVE-2026-97940, CVE-2026-97949, CVE-2026-98077, CVE-2026-98096, CVE-2026-98130, CVE-2026-98196, CVE-2026-98217, CVE-2026-98222, CVE-2026-98320, CVE-2026-98342, CVE-2026-98343

CLSA: 2026:1792749577