kernel-4.18.0-553.174.1.el8_10

エラータID: AXSA:2026-2094:104

Release date: 
Tuesday, October 20, 2026 - 09:18
Subject: 
kernel-4.18.0-553.174.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: Linux kernel: Denial of Service due to use-after-free in act_tunnel_key (CVE-2026-68377)
* kernel: ASoC: SOF: ipc3-control: Fix heap overflow in bytes_ext put/get (CVE-2026-72262)
* kernel: net/sched: cls_route: fix fastmap use-after-free on filter (CVE-2026-74583)
* kernel: ALSA: usx2y: bound the hwdep mmap fault offset (CVE-2026-74641)
* kernel: udp: fix potential use-after-free in tunnel segmentation (CVE-2026-74705)
* kernel: svcrdma: Validate Read chunk positions before reconstruction (CVE-2026-89526)
* kernel: NFSD: Prevent client use-after-free during blocked-lock reaping (CVE-2026-90036)
* kernel: svcrdma: Reject Write/Reply chunks with segcount 0 (CVE-2026-93228)
* kernel: md/raid5-ppl: fix use-after-free in ppl_do_flush() (CVE-2026-93262)

Bug Fix(es) and Enhancement(s):

* powerpc/pseries: pci - logic bug in SR-IOV enable (JIRA:RHEL-240146)

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-68377
In the Linux kernel, the following vulnerability has been resolved: net/sched: act_tunnel_key: Defer dst_release to RCU callback Fix a race-condition use-after-free in tunnel_key_release_params(). The function releases the metadata_dst of the old params synchronously via dst_release() while deferring the params struct free with kfree_rcu(). A concurrent tunnel_key_act() reader on the datapath may still hold the old params pointer (under rcu_read_lock_bh) and proceed to call dst_clone(&params->tcft_enc_metadata->dst) after the writer's dst_release has already pushed the dst's rcuref to RCUREF_DEAD. zdi-disclosures@trendmicro.com produced a poc which i (and Victor) verified that KASAN reports: ================================================================== BUG: KASAN: slab-use-after-free in instrument_atomic_read_write include/linux/instrumented.h:112 BUG: KASAN: slab-use-after-free in atomic_sub_return_release include/linux/atomic/atomic-instrumented.h:326 BUG: KASAN: slab-use-after-free in __rcuref_put include/linux/rcuref.h:109 BUG: KASAN: slab-use-after-free in rcuref_put include/linux/rcuref.h:173 BUG: KASAN: slab-use-after-free in dst_release+0x5b/0x370 net/core/dst.c:168 Write of size 4 at addr ffff88806158de40 by task poc/9388 CPU: 0 UID: 0 PID: 9388 Comm: poc Tainted: G W 7.1.0-rc7 #7 PREEMPT(lazy) Tainted: [W]=WARN Hardware name: QEMU Ubuntu 25.10 PC v2 (i440FX + PIIX, + 10.1 machine, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:94 dump_stack_lvl+0x100/0x190 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 print_report+0x139/0x4ad mm/kasan/report.c:482 kasan_report+0xe4/0x1d0 mm/kasan/report.c:595 check_region_inline mm/kasan/generic.c:186 kasan_check_range+0x125/0x200 mm/kasan/generic.c:200 instrument_atomic_read_write include/linux/instrumented.h:112 atomic_sub_return_release include/linux/atomic/atomic-instrumented.h:326 __rcuref_put include/linux/rcuref.h:109 rcuref_put include/linux/rcuref.h:173 dst_release+0x5b/0x370 net/core/dst.c:168 refdst_drop include/net/dst.h:272 skb_dst_drop include/net/dst.h:284 skb_release_head_state+0x293/0x400 net/core/skbuff.c:1163 skb_release_all net/core/skbuff.c:1187 [..] Allocated by task 9391: kasan_save_stack+0x30/0x50 mm/kasan/common.c:57 kasan_save_track+0x14/0x30 mm/kasan/common.c:78 poison_kmalloc_redzone mm/kasan/common.c:398 __kasan_kmalloc+0x9a/0xb0 mm/kasan/common.c:415 kasan_kmalloc include/linux/kasan.h:263 __do_kmalloc_node mm/slub.c:5296 __kmalloc_noprof+0x2f1/0x830 mm/slub.c:5308 kmalloc_noprof include/linux/slab.h:954 kzalloc_noprof include/linux/slab.h:1188 offload_action_alloc+0x2f/0x130 net/core/flow_offload.c:35 tcf_action_offload_add_ex+0x1ba/0x880 net/sched/act_api.c:258 tcf_action_offload_add net/sched/act_api.c:293 tcf_action_init+0x66e/0xa20 net/sched/act_api.c:1547 tcf_action_add+0xf6/0x5d0 net/sched/act_api.c:2101 [..] Freed by task 9391: kasan_save_stack+0x30/0x50 mm/kasan/common.c:57 kasan_save_track+0x14/0x30 mm/kasan/common.c:78 kasan_save_free_info+0x3b/0x70 mm/kasan/generic.c:584 poison_slab_object mm/kasan/common.c:253 __kasan_slab_free+0x6b/0x90 mm/kasan/common.c:285 kasan_slab_free include/linux/kasan.h:235 slab_free_hook mm/slub.c:2689 slab_free mm/slub.c:6251 kfree+0x21f/0x6b0 mm/slub.c:6566 tcf_action_offload_add_ex+0x4ad/0x880 net/sched/act_api.c:284 tcf_action_offload_add net/sched/act_api.c:293 tcf_action_init+0x66e/0xa20 net/sched/act_api.c:1547 tcf_action_add+0xf6/0x5d0 net/sched/act_api.c:2101 The buggy address belongs to the object at ffff88806158de00 which belongs to the cache kmalloc-256 of size 256 The buggy address is located 64 bytes inside of freed 256-byte region [ffff88806158de00, ffff88806158df00) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffff88806158d600 pfn:0x6158c head: order:1 mapcount:0 entire_map ---truncated---
CVE-2026-72262
In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: ipc3-control: Fix heap overflow in bytes_ext put/get The ipc_control_data buffer is allocated as kzalloc(max_size), where max_size covers the entire struct sof_ipc_ctrl_data including its flexible array payload. However, the bounds checks in bytes_ext_put and _bytes_ext_get compared user data lengths against max_size directly, ignoring that cdata->data sits at an offset of sizeof(struct sof_ipc_ctrl_data) bytes into the allocation. This allowed writing up to sizeof(struct sof_ipc_ctrl_data) bytes past the end of the heap buffer from unprivileged userspace via the ALSA TLV kcontrol interface, and similarly allowed over-reading adjacent heap data on the get path. Fix all bounds checks to subtract sizeof(*cdata) from max_size so they reflect the actual space available at the cdata->data offset. Also fix the error-path restore in bytes_ext_put which wrote to cdata->data instead of cdata, causing the same overflow.
CVE-2026-74583
In the Linux kernel, the following vulnerability has been resolved: net/sched: cls_route: fix fastmap use-after-free on filter The route4 classifier maintains a 16-slot fastmap cache that stores raw struct route4_filter pointers indexed by (id, iif). The reader (route4_classify) populates this cache via route4_set_fastmap() for every classified packet that hits a filter. The writer (route4_delete, route4_change) clears the cache via route4_reset_fastmap() before RCU-deferred kfree of the filter. This creates a UAF race: 1. Reader walks the RCU-protected bucket chain, finds filter f 2. Writer unlinks f, calls route4_reset_fastmap(), then tcf_queue_work() 3. Reader calls route4_set_fastmap() and writes f into the cache *after* the writer's reset, caching a pointer about to be freed 4. After the RCU grace period, kfree(f) executes 5. Next classified packet on the same (id, iif) tuple hits the stale fastmap entry and reads f->res from freed memory Reproduced with an mdelay(100) accelerator in route4_set_fastmap() and a concurrent add/delete stress test (provided by both zdi and Santosh). Both triggered KASAN slab-use-after-free reports in the route4 fastmap paths. Fix: Introduce a per-filter boolean dying flag to suppress stale fastmap republishing by in-flight readers.
CVE-2026-74641
In the Linux kernel, the following vulnerability has been resolved: ALSA: usx2y: bound the hwdep mmap fault offset snd_us428ctls_vm_fault() turns the faulting page offset into a kernel address with no bound of any kind: offset = vmf->pgoff << PAGE_SHIFT; vaddr = (char *)(...)->us428ctls_sharedmem + offset; page = virt_to_page(vaddr); get_page(page); vmf->page = page; return 0; snd_us428ctls_mmap() checks only the length of the mapping, never the offset, and us428ctls_sharedmem is a single page from alloc_pages_exact(). For a character device file_mmap_size_max() returns ULONG_MAX, so the mm layer imposes no ceiling either. Every page offset above zero resolves to a struct page outside the object, and the handler installs it into the caller's address space read-write; the vma is not marked read-only. The caller picks the page frame with a single mmap() argument and gets read-write access to a page of kernel memory it does not own; an offset that lands in an unpopulated vmemmap region oopses instead. A process that can open the hwdep node of an attached US-X2Y reaches this after loading the FPGA image through the same node; no capability check is involved. On 7.2.0-rc5 (arm64), mmap() with a large offset: Unable to handle kernel paging request at virtual address fffffdffc45d5ac8 pc : snd_us428ctls_vm_fault+0x68/0x140 [snd_usb_usx2y] Call trace: snd_us428ctls_vm_fault+0x68/0x140 [snd_usb_usx2y] __do_fault __handle_mm_fault handle_mm_fault el0_da Reject any offset outside the shared region. The pcm hwdep handler in usx2yhwdeppcm.c computes its address the same way and needs the same bound. Discovered by XBOW, triaged by Baul Lee
CVE-2026-74705
In the Linux kernel, the following vulnerability has been resolved: udp: fix potential use-after-free in tunnel segmentation __skb_udp_tunnel_segment() gets the UDP header before ensuring the tunnel header is in the skb head. If the pull reallocates skb->head, the saved UDP header pointer is no longer valid. Get the UDP header after the pull to avoid a potential use-after-free.
CVE-2026-89526
In the Linux kernel, the following vulnerability has been resolved: svcrdma: Validate Read chunk positions before reconstruction The RPC/RDMA Read chunk position field is supplied by the remote client and stored verbatim in the parsed chunk list. xdr_count_read_segments() checks only 4-byte alignment; it never compares the position against the received inline body length. In the single-chunk path, svc_rdma_read_complete_one() splits the head and tail kvecs at ch_position. A position past the inline body underflows the tail length, exposing adjacent slab memory to the upper XDR decoder. In the multi-chunk path, svc_rdma_read_multiple_chunks() computes gap lengths between chunks as unsigned subtractions from ch_position. Overlapping Read chunks cause these subtractions to underflow. A final position past the inline body likewise underflows the trailing gap length. svc_rdma_copy_inline_range() then copies past the receive buffer into request pages that are returned to the client through the Reply channel. Bound inline-range copies in svc_rdma_copy_inline_range() against the decoded inline RPC body saved in rc_saved_arg. Reject a single Read chunk positioned beyond that body, and reject multi-chunk lists where accumulated read bytes exceed the next chunk's position. Apply the same position and overlap checks in the call-chunk interleaving path.
CVE-2026-90036
In the Linux kernel, the following vulnerability has been resolved: NFSD: Prevent client use-after-free during blocked-lock reaping A bare lock owner -- its only remaining reference a blocked lock on nn->blocked_locks_lru -- holds a raw pointer to its nfs4_client but no reference keeping the client alive. When the per-net laundromat reaps such a lock, freeing the nbl drops the owner reference held through flc_owner, and the final nfs4_put_stateowner() takes the client's cl_lock. Because the laundromat detaches the nbl first, __destroy_client() no longer finds it, so a concurrent force_expire_client() can free the client before nfs4_put_stateowner() runs, dereferencing cl_lock in freed memory. Pin the client with cl_rpc_users before dropping nn->blocked_locks_lock, and skip clients already expiring, whose blocked locks __destroy_client() frees while holding an owner reference. Take nn->client_lock outside nn->blocked_locks_lock. Every other site holds nn->blocked_locks_lock as a leaf, acquiring no further lock, so placing nn->client_lock outside it cannot form a lock-order cycle.
CVE-2026-93228
In the Linux kernel, the following vulnerability has been resolved: svcrdma: Reject Write/Reply chunks with segcount 0 A peer can send a Write or Reply chunk whose segcount field is zero. xdr_check_write_chunk() only rejects segcount > rc_maxpages, so zero passes the range check, and xdr_inline_decode(stream, 0) returns the current (non-NULL) cursor without advancing. The function returns true and pcl_alloc_write() then links a struct svc_rdma_chunk with ch_segcount == 0 onto rc_write_pcl or rc_reply_pcl. An earlier patch in this series made pcl_for_each_segment() safe for ch_segcount == 0, so this no longer drives the memory walk it used to. Rejecting the malformed frame at the decode boundary is still worthwhile as defense in depth: it keeps degenerate zero-segment chunks off the parsed chunk lists entirely, so any future consumer that walks ch_segments directly cannot observe one, and it makes the zero-floor easy to backport to trees where the macro change is more intrusive. RFC 8166 has no meaning for a Write/Reply chunk that describes no remote buffer, so no legitimate client is affected. xdr_check_reply_chunk() funnels Reply chunks through xdr_check_write_chunk() and inherits the same rejection. pcl_alloc_write() also links each chunk onto the parsed chunk list before filling its segment array. If a future change weakens the segcount-0 rejection, an incomplete chunk is visible to consumers during the fill loop. Reorder so that list_add_tail() follows the segment fill loop, ensuring only fully-populated chunks appear on the list.
CVE-2026-93262
In the Linux kernel, the following vulnerability has been resolved: md/raid5-ppl: fix use-after-free in ppl_do_flush() The loop in ppl_do_flush() continues iterating after calling ppl_io_unit_finished(), touching io->pending_flushes and leading to a use-after-free. Add a break statement to stop the loop once io is freed.

Solution: 

Update packages.

Additional Info: 

N/A

Download: 

SRPMS
  1. kernel-4.18.0-553.174.1.el8_10.src.rpm
    MD5: fd3172154cbf482b5764a88e3729dcc9
    SHA-256: 0082ae9dad52080c0870803be05d37332c4bb3fd9fbe64fd093f867d9d6a9d1f
    Size: 132.49 MB

Asianux Server 8 for x86_64
  1. bpftool-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: 08ece83b70c2da4c53d944791089c41b
    SHA-256: c7c97d03120c0934099b8d61ef003a7721aa7e8e890d688628d3e25c85e18552
    Size: 11.36 MB
  2. kernel-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: cdf38446e471eba082fdcc5709deebea
    SHA-256: 05b4699f6589c7adcdb17711bbf265f7c8b4bfd5eb02c847ea3a82f13c3afa9e
    Size: 10.64 MB
  3. kernel-abi-stablelists-4.18.0-553.174.1.el8_10.noarch.rpm
    MD5: 446b89789f2a0200686e6f6671837543
    SHA-256: 230d0571a2d0a5f32ccf1924cbee99fd100249356a8657af5523b5e19d2fbb83
    Size: 10.65 MB
  4. kernel-core-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: 8bf0ffed6a592e7bf21f7d8f0ed85d06
    SHA-256: b82b66cea37ac8d5c087f542a914ff6b2df9d98be3c20babb5187fe3b97a9724
    Size: 43.69 MB
  5. kernel-cross-headers-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: 94fc5cf0bb1ac60adfda29685a7ffe33
    SHA-256: d0c35202638ebafbc15c79d59d5af108f9c3234808ab0a86a6b52df269f66848
    Size: 15.98 MB
  6. kernel-debug-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: edae314c02e4b1d7b7f32355ba789c2f
    SHA-256: 8c2ca4c1c086ed77ee988054c590c6462f555b46146da310641228a4ee47d8e0
    Size: 10.64 MB
  7. kernel-debug-core-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: aa663f92e6fffdc86df3630bac0b8853
    SHA-256: 4ee7014d4de5a08a206aec43c8d6e3f48b2e673af09bca0fb00538f6e27c3823
    Size: 73.01 MB
  8. kernel-debug-devel-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: 3925e1b003992fac740b94e391f1194e
    SHA-256: ea4b7d574a3cc1781661f01f857aa10696799126fdcf90165578659aff496473
    Size: 24.49 MB
  9. kernel-debug-modules-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: 409fc60434bb9898d0fb8b5980fb0c5b
    SHA-256: 146617281807b7dccfa1482782c000c7d7d6e0add9a2d795b40de58aba6a94cf
    Size: 66.15 MB
  10. kernel-debug-modules-extra-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: b56b99fe6123ac03385c32485d314cc7
    SHA-256: df2c6750dc290322ff5a163ce3bbdc9c45c427ea5d989ff86293c903b414981c
    Size: 12.02 MB
  11. kernel-devel-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: d240e25a89aa70e7898140bce73f084d
    SHA-256: 66f9dc277caf58779d3e4f919af740dca2b61e4a537185cca89aa962ed729c87
    Size: 24.29 MB
  12. kernel-doc-4.18.0-553.174.1.el8_10.noarch.rpm
    MD5: e0d9dd99f9a6843ec33a78d807032591
    SHA-256: 2d694f67e3c5b36160bb4f226fe231686d8ed8714b5d08f25e0a3b839afb3619
    Size: 28.51 MB
  13. kernel-headers-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: 7561cb2399dca9bbab2408ffd4431d2e
    SHA-256: 3075672a707595b1e800d1e9d122eb34435b0e8b2d679528192451c1cf327759
    Size: 11.99 MB
  14. kernel-modules-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: d3a94af0479eb6c62154ebf26f81b9ff
    SHA-256: 98aead7fe0df47afd01a9ae33138932f530e588f9e7bf1d10309fa5a44f04091
    Size: 36.48 MB
  15. kernel-modules-extra-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: 3ff0f191230f87d2e13bee95631f05be
    SHA-256: ba0eb11f6e6db0e1cf37154dbff7fb5bcd758944280099902281404c24875654
    Size: 11.33 MB
  16. kernel-tools-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: a92f1bf6be084d781151a5530884f1c0
    SHA-256: d3935ef8948e07c9619c0a7832948d9e176dc3ecbd77a34bbddad88052e19122
    Size: 10.86 MB
  17. kernel-tools-libs-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: df371552cb14ad0c07d6fd7c2ea1ee7d
    SHA-256: c9352f2133744ac89c184f23742adc6bd100f02137f7cfad4ab8e9252f000800
    Size: 10.65 MB
  18. kernel-tools-libs-devel-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: 395eb5e4646457979317de913ad376a0
    SHA-256: 6581a641e9d3154a112996bba10d81975ce36fef6f731a8470cc59828728db86
    Size: 10.64 MB
  19. perf-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: 73e707a3eb9543c3b5d0850d1992865f
    SHA-256: 4244e934ca16606d095a93d438ef0975fdbf69a6cdd1324d91fe0a6292c6f2df
    Size: 12.96 MB
  20. python3-perf-4.18.0-553.174.1.el8_10.x86_64.rpm
    MD5: b74770112ecdbf47d2aa9b5f27db0b25
    SHA-256: 6f6ddce320f297fda10300c067020a5db119cae5eabb4c8eb3272b9ed7efb1fd
    Size: 10.76 MB