kernel-4.18.0-553.181.1.el8_10

エラータID: AXSA:2026-2276:118

Release date: 
Friday, November 6, 2026 - 18:46
Subject: 
kernel-4.18.0-553.181.1.el8_10
Affected Channels: 
Asianux Server 8 for x86_64
Severity: 
High
Description: 

The kernel packages contain the Linux kernel, the core of any Linux operating system.

Security Fix(es):

* kernel: ipv6: exthdrs: refresh nh pointer after ipv6_hop_jumbo() (CVE-2026-63924)
* kernel: ipv6: exthdrs: refresh nh after handling HAO option (CVE-2026-63922)
* kernel: af_unix: Fix UAF read of tail->len in unix_stream_data_wait() (CVE-2026-64109)
* kernel: scsi: target: core: Fix iSCSI ISID use-after-free in REGISTER AND MOVE (CVE-2026-72083)
* kernel: tipc: require net admin for TIPCv2 netlink mutators (CVE-2026-74283)
* kernel: smb: client: bound dirent name against end of SMB response in cifs_filldir (CVE-2026-93787)
* kernel: ZDI-CAN-33367: Linux Kernel skbuff skb_zerocopy Improper Ownership Management Local Privilege Escalation Vulnerability ()

For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.

CVE-2026-63922
In the Linux kernel, the following vulnerability has been resolved: ipv6: exthdrs: refresh nh after handling HAO option ip6_parse_tlv() caches skb_network_header(skb) in nh while walking IPv6 TLVs. ipv6_dest_hao() may call pskb_expand_head() for a cloned skb, which can move the skb head and invalidate the cached network header pointer. Refresh nh after ipv6_dest_hao() returns so any trailing padding or TLVs are parsed from the current skb head. This matches the existing pattern used in ip6_parse_tlv() after helpers that can modify skb header storage.
CVE-2026-63924
In the Linux kernel, the following vulnerability has been resolved: ipv6: exthdrs: refresh nh pointer after ipv6_hop_jumbo() ipv6_hop_jumbo() calls pskb_trim_rcsum(), which can change skb pointers. Let's recompute nh pointer to make sure any change won't mess things up.
CVE-2026-64109
In the Linux kernel, the following vulnerability has been resolved: af_unix: Fix UAF read of tail->len in unix_stream_data_wait() unix_stream_data_wait() does skb_peek_tail(&sk->sk_receive_queue) without holding any lock that prevents SKBs on that queue from being dequeued and freed. This has been the case since commit 79f632c71bea ("unix/stream: fix peeking with an offset larger than data in queue"). The first consequence of this is that the pointer comparison `tail != last` can be false even if `last` semantically refers to an already-freed SKB while `tail` is a new SKB allocated at the same address; which can cause unix_stream_data_wait() to wrongly keep blocking after new data has arrived, but only in a weird scenario where a peeking recv() and a normal recv() on the same socket are racing, which is probably not a real problem. But since commit 2b514574f7e8 ("net: af_unix: implement splice for stream af_unix sockets"), `tail` is actually dereferenced, which can cause UAF in the following race scenario (where test_setup() runs single-threaded, and afterwards, test_thread1() and test_thread2() run concurrently in two threads: ``` static int socks[2]; void test_setup(void) { socketpair(AF_UNIX, SOCK_STREAM, 0, socks); send(socks[1], "A", 1, 0); int peekoff = 1; setsockopt(socks[0], SOL_SOCKET, SO_PEEK_OFF, &peekoff, sizeof(peekoff)); } void test_thread1(void) { char dummy; recv(socks[0], &dummy, 1, MSG_PEEK); } void test_thread2(void) { char dummy; recv(socks[0], &dummy, 1, 0); shutdown(socks[1], SHUT_WR); } ``` when racing like this: ``` thread1 thread2 unix_stream_read_generic mutex_lock(&u->iolock) skb_peek(&sk->sk_receive_queue) skb_peek_next(skb, &sk->sk_receive_queue) mutex_unlock(&u->iolock) unix_stream_read_generic unix_state_lock(sk) skb_peek(&sk->sk_receive_queue) unix_state_unlock(sk) unix_stream_data_wait unix_state_lock(sk) tail = skb_peek_tail(&sk->sk_receive_queue) spin_lock(&sk->sk_receive_queue.lock) __skb_unlink(skb, &sk->sk_receive_queue) spin_unlock(&sk->sk_receive_queue.lock) consume_skb(skb) [frees the SKB] `tail != last`: false `tail`: true `tail->len != last_len` ***UAF*** ``` Fix the UAF by removing the read of tail->len; checking tail->len would only make sense if SKBs in the receive queue of a UNIX socket could grow, which can no longer happen. Kuniyuki explained: > When commit 869e7c62486e ("net: af_unix: implement stream sendpage > support") added sendpage() support, data could be appended to the last > skb in the receiver's queue. > > That's why we needed to check if the length of the last skb was changed > while waiting for new data in unix_stream_data_wait(). > > However, commit a0dbf5f818f9 ("af_unix: Support MSG_SPLICE_PAGES") and > commit 57d44a354a43 ("unix: Convert unix_stream_sendpage() to use > MSG_SPLICE_PAGES") refactored sendmsg(), and now data is always added > to a new skb. That means this fix is not suitable for kernels before 6.5.
CVE-2026-72083
In the Linux kernel, the following vulnerability has been resolved: scsi: target: core: Fix iSCSI ISID use-after-free in REGISTER AND MOVE core_scsi3_emulate_pro_register_and_move() maps the PERSISTENT RESERVE OUT parameter list with transport_kmap_data_sg() and parses the destination TransportID with target_parse_pr_out_transport_id(). For an iSCSI TransportID (FORMAT CODE 01b), iscsi_parse_pr_out_transport_id() returns the ISID in iport_ptr as a raw pointer into that mapped buffer. The function then unmaps the buffer with transport_kunmap_data_sg() before dereferencing iport_ptr in strcmp(), __core_scsi3_locate_pr_reg() and core_scsi3_alloc_registration(). When the parameter list spans more than one page (PARAMETER LIST LENGTH > 4096), transport_kmap_data_sg() uses vmap() and transport_kunmap_data_sg() does vunmap(), so the kernel virtual address backing iport_ptr is torn down and every subsequent dereference is a use-after-free read of the unmapped region. Keep the parameter list mapped until iport_ptr is no longer needed: drop the early transport_kunmap_data_sg() and unmap once on the success path, right before returning. The error paths already unmap through the existing "if (buf) transport_kunmap_data_sg(cmd)" at the out: label, which now runs on every post-map error exit because buf is no longer cleared early. Only reads of the mapping happen while spinlocks are held; the map and unmap calls remain outside any lock. The sibling caller core_scsi3_decode_spec_i_port() already uses the buffer before unmapping it and is left unchanged.
CVE-2026-74283
In the Linux kernel, the following vulnerability has been resolved: tipc: require net admin for TIPCv2 netlink mutators TIPCv2 registers mutating generic-netlink operations without admin permission flags. Generic netlink only checks CAP_NET_ADMIN when an operation sets GENL_ADMIN_PERM or GENL_UNS_ADMIN_PERM, so a local unprivileged process can currently change TIPC state through commands such as TIPC_NL_NET_SET, TIPC_NL_KEY_SET, TIPC_NL_KEY_FLUSH, and bearer enable/disable. The legacy TIPC netlink API already checks netlink_net_capable(..., CAP_NET_ADMIN) for administrative commands. Give the TIPCv2 mutators the equivalent generic-netlink gate. Use GENL_UNS_ADMIN_PERM, which maps to the same namespace-aware CAP_NET_ADMIN check that netlink_net_capable() performs, so the behaviour matches the legacy path and keeps working for CAP_NET_ADMIN holders in a non-initial user namespace (containers). A QEMU/KASAN repro run as uid/gid 65534 with zero effective capabilities previously succeeded in changing the network id and node identity, setting and flushing key material, and enabling/disabling a UDP bearer. With this patch applied the same operations fail with -EPERM.
CVE-2026-93787
In the Linux kernel, the following vulnerability has been resolved: smb: client: bound dirent name against end of SMB response in cifs_filldir cifs_filldir() copies the entry name out of an SMB1 TRANS2_FIND_FIRST / FIND_NEXT response using a length (de.namelen) supplied by the server. The kmalloc'd SMB response buffer is bounded, but nothing checks that de.name + de.namelen still lies inside that buffer before the eventual filldir64() -> verify_dirent_name() -> memchr() reads namelen bytes. A hostile SMB1 server that returns an oversized FileNameLength in a directory entry therefore causes memchr() to read past the end of the response slab buffer. Reachable from any user who can list a directory on a CIFS mount served by an attacker-controlled server (getdents64() on the mounted directory): BUG: KASAN: slab-out-of-bounds in memchr+0x71/0x80 Read of size 1 at addr ffff88800e0640cc by task poc/115 Call Trace: dump_stack_lvl+0x64/0x80 print_report+0xce/0x620 kasan_report+0xec/0x120 memchr+0x71/0x80 filldir64+0x4c/0x6a0 cifs_filldir.constprop.0+0x9bb/0x1e00 cifs_readdir+0x2101/0x3380 iterate_dir+0x19c/0x520 __x64_sys_getdents64+0x126/0x210 do_syscall_64+0x107/0x5a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f Pass the end-of-response pointer down to cifs_filldir() and reject entries whose name would extend past that boundary. This bug was discovered by Artiphishell's vTriage pipeline, which generated a userspace reproducer (an emulated hostile SMB1 server plus a getdents64() client) that reliably triggers the KASAN report on an unpatched kernel. The fix below was drafted with the Claude coding assistant; a userspace reproducer is available on request.

Solution: 

Update packages.

Additional Info: 

N/A

Download: 

SRPMS
  1. kernel-4.18.0-553.181.1.el8_10.src.rpm
    MD5: c912b9acb2030dd657d5ea91aede5328
    SHA-256: 81f7c8b8830eeeeea1f96673c96ce518c4a0e244aa38744710460b68ffa79975
    Size: 132.50 MB

Asianux Server 8 for x86_64
  1. bpftool-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: f50c3fad993b5ac1887dd4c78c2baeb7
    SHA-256: b561e60cce5dfcfdfa8d79d118f192eb71cbfd10ff16e5161814272498a6862b
    Size: 11.38 MB
  2. kernel-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: 568f3649f0fdae0060ab8c0c345c9fec
    SHA-256: cede9aee5ad5b586374087bd6b975dd4ef595dc285e2f28e69597c46b603a16e
    Size: 10.65 MB
  3. kernel-abi-stablelists-4.18.0-553.181.1.el8_10.noarch.rpm
    MD5: 46c0ad4fb9d91e51eae6cdc2db9d34bb
    SHA-256: 768f36adc48c68623611c0fb9608368165dbd9134801c0e7a56fabcdb8dce7e9
    Size: 10.67 MB
  4. kernel-core-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: f3c1bda8c3eaf205ac751e6b9b1e1a22
    SHA-256: c0067264d2e035d9119f90c6905c51874f1ad1d231968edf2cb93342f76bdde5
    Size: 43.70 MB
  5. kernel-cross-headers-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: 7977446ee4c548fdbbbcb991dffd91cb
    SHA-256: 36a878dbb11def9db5a8d7ed2796dd818edfbe5528689b671f1f23e2b618a7a6
    Size: 15.99 MB
  6. kernel-debug-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: 3f2a6a5e9da29c808a88c2f0e8e0fb38
    SHA-256: feedefc6fde4ef1888e7d0651bf88b0a8222d2943abdc886ea369b425e0919ba
    Size: 10.65 MB
  7. kernel-debug-core-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: 951ecc75e4b97de092fa777ddda8137e
    SHA-256: 4fafe6c4bf247e4f24fa7cea808ec8f00f210bc41258924a847a83027605768e
    Size: 73.02 MB
  8. kernel-debug-devel-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: f2e68853682d67d956139e2db0431406
    SHA-256: 6fc1603bcecf3f01d1a5d52631452995e84f8caefbbdc883a1d33cb0b8469dd7
    Size: 24.50 MB
  9. kernel-debug-modules-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: b90bd0b5a7265ec813fd570423410c95
    SHA-256: a8ade49d60760693d4a5ce024e4afd96ffdac70d42e71d6723d9d888c4921d0a
    Size: 66.15 MB
  10. kernel-debug-modules-extra-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: 74849350441e7c634b8d31a35f33771a
    SHA-256: 25ada04b5e21fbcaf2275cf5b2f23cf293ab0a15606c50da9eccc173bef59e5c
    Size: 12.03 MB
  11. kernel-devel-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: b42c17b3dc452fde52763bd25fc028a6
    SHA-256: 33562b58bca9afa591dbd77d80906c232fb914b2df83ee0d732a673ed341f461
    Size: 24.30 MB
  12. kernel-doc-4.18.0-553.181.1.el8_10.noarch.rpm
    MD5: f81df4114708068743b83f6880874193
    SHA-256: 3fd52ae4d0c173a9dbf67b6bd0fbac6e027421c9b1c97ab4bdbe6ae961b558d7
    Size: 28.52 MB
  13. kernel-headers-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: 71e7ac53bb69ac1379ce2bddf96325d1
    SHA-256: c944e261ad5f415b4077b54d8cc736c9f7681c25d87b0f45d002713b617ff975
    Size: 12.00 MB
  14. kernel-modules-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: 663aef8401f62fe35c7fb855f3f367d2
    SHA-256: fb6472c920cf1ff6abf7c37ab98a5e5f8313144fbc6a049f7fae7246cb043399
    Size: 36.50 MB
  15. kernel-modules-extra-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: 0a98bba319af9654c2763436f0ca34f8
    SHA-256: 75fb3ee6364459008d465a69ca3c1d830daa43ec1909db4933c79337e8c9dafe
    Size: 11.34 MB
  16. kernel-tools-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: cb0e808e4cb478b7e9aff1838d209d45
    SHA-256: 168665505243c1da5c7ac2f41ad85b81b664f15d0a559a1b41eb9c36c2769406
    Size: 10.87 MB
  17. kernel-tools-libs-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: c443bea3a604e109d4ecc7c4cad10931
    SHA-256: 68a9d7a43947fce5934aa87dd8fcdcdfb6b7f5b736e9f2d5a511046ecb90137a
    Size: 10.66 MB
  18. kernel-tools-libs-devel-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: c7f9d16abe90c676c545ae217280c1e1
    SHA-256: 495986f79d2b0bf7c7903ea99fe95fb09fc207b67917a39e3c09549d33adc6bd
    Size: 10.65 MB
  19. perf-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: 62765e9eba0e92f27bf8fbf5d00a7ade
    SHA-256: ab48d5596132d1232d27685d8063c1b7236b1081c65b9410e6d681d11d437bae
    Size: 12.97 MB
  20. python3-perf-4.18.0-553.181.1.el8_10.x86_64.rpm
    MD5: 3d61afcb6ba0b373352a01de11929de2
    SHA-256: 4661f6d6a77b5055d3a26ece9c7ff9ec9123e6c8914a2210b1ae246af5151f6e
    Size: 10.77 MB