kernel-5.14.0-687.51.1.el9_8
エラータID: AXSA:2026-2209:112
The kernel packages contain the Linux kernel, the core of any Linux operating system.
Security Fix(es):
* kernel: block: zero non-PI portion of auto integrity buffer (CVE-2026-23007)
* kernel: af_unix: Drop all SCM attributes for SOCKMAP (CVE-2026-53005)
* kernel: mac802154: llsec: add skb_cow_data() before in-place crypto (CVE-2026-63831)
* kernel: blk-cgroup: fix UAF in __blkcg_rstat_flush() (CVE-2026-63802)
* kernel: block: don't overwrite bip_vcnt in bio_integrity_copy_user() (CVE-2026-64053)
* kernel: smb: client: fix double-free in SMB2_flush() replay (CVE-2026-64383)
* kernel: nvmet-tcp: check INIT_FAILED before nvmet_req_uninit in digest error path (CVE-2026-64534)
* kernel: sctp: don't free the ASCONF's own transport in DEL-IP processing (CVE-2026-64564)
* kernel: ALSA: timer: drain a slave's callback before its master detaches it (CVE-2026-68201)
* kernel: ASoC: SOF: ipc3-control: Validate size in snd_sof_update_control (CVE-2026-72261)
* kernel: xfrm: ah6: validate routing header segments_left (CVE-2026-80844)
* kernel: net: tun: bound receive headroom (CVE-2026-81000)
* kernel: scsi: qla2xxx: Bound rsp_info_len to avoid OOB sense-data read (CVE-2026-89846)
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-23007
In the Linux kernel, the following vulnerability has been resolved: block: zero non-PI portion of auto integrity buffer The auto-generated integrity buffer for writes needs to be fully initialized before being passed to the underlying block device, otherwise the uninitialized memory can be read back by userspace or anyone with physical access to the storage device. If protection information is generated, that portion of the integrity buffer is already initialized. The integrity data is also zeroed if PI generation is disabled via sysfs or the PI tuple size is 0. However, this misses the case where PI is generated and the PI tuple size is nonzero, but the metadata size is larger than the PI tuple. In this case, the remainder ("opaque") of the metadata is left uninitialized. Generalize the BLK_INTEGRITY_CSUM_NONE check to cover any case when the metadata is larger than just the PI tuple.
CVE-2026-53005
In the Linux kernel, the following vulnerability has been resolved: af_unix: Drop all SCM attributes for SOCKMAP. SOCKMAP can hide inflight fd from AF_UNIX GC. When a socket in SOCKMAP receives skb with inflight fd, sk_psock_verdict_data_ready() looks up the mapped socket and enqueue skb to its psock->ingress_skb. Since neither the old nor the new GC can inspect the psock queue, the hidden skb leaks the inflight sockets. Note that this cannot be detected via kmemleak because inflight sockets are linked to a global list. In addition, SOCKMAP redirect breaks the Tarjan-based GC's assumption that unix_edge.successor is always alive, which is no longer true once skb is redirected, resulting in use-after-free below. [0] Moreover, SOCKMAP does not call scm_stat_del() properly, so unix_show_fdinfo() could report an incorrect fd count. sk_msg_recvmsg() does not support any SCM attributes in the first place. Let's drop all SCM attributes before passing skb to the SOCKMAP layer. [0]: BUG: KASAN: slab-use-after-free in unix_del_edges (net/unix/garbage.c:118 net/unix/garbage.c:181 net/unix/garbage.c:251) Read of size 8 at addr ffff888125362670 by task kworker/56:1/496 CPU: 56 UID: 0 PID: 496 Comm: kworker/56:1 Not tainted 7.0.0-rc7-00263-gb9d8b856689d #3 PREEMPT(lazy) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-debian-1.17.0-1 04/01/2014 Workqueue: events sk_psock_backlog Call Trace: dump_stack_lvl (lib/dump_stack.c:122) print_report (mm/kasan/report.c:379) kasan_report (mm/kasan/report.c:597) unix_del_edges (net/unix/garbage.c:118 net/unix/garbage.c:181 net/unix/garbage.c:251) unix_destroy_fpl (net/unix/garbage.c:317) unix_destruct_scm (./include/net/scm.h:80 ./include/net/scm.h:86 net/unix/af_unix.c:1976) sk_psock_backlog (./include/linux/skbuff.h:?) process_scheduled_works (kernel/workqueue.c:?) worker_thread (kernel/workqueue.c:?) kthread (kernel/kthread.c:438) ret_from_fork (arch/x86/kernel/process.c:164) ret_from_fork_asm (arch/x86/entry/entry_64.S:258) Allocated by task 955: kasan_save_track (mm/kasan/common.c:58 mm/kasan/common.c:78) __kasan_slab_alloc (mm/kasan/common.c:369) kmem_cache_alloc_noprof (mm/slub.c:4539) sk_prot_alloc (net/core/sock.c:2240) sk_alloc (net/core/sock.c:2301) unix_create1 (net/unix/af_unix.c:1099) unix_create (net/unix/af_unix.c:1169) __sock_create (net/socket.c:1606) __sys_socketpair (net/socket.c:1811) __x64_sys_socketpair (net/socket.c:1863 net/socket.c:1860 net/socket.c:1860) do_syscall_64 (arch/x86/entry/syscall_64.c:?) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) Freed by task 496: kasan_save_track (mm/kasan/common.c:58 mm/kasan/common.c:78) kasan_save_free_info (mm/kasan/generic.c:587) __kasan_slab_free (mm/kasan/common.c:287) kmem_cache_free (mm/slub.c:6165) __sk_destruct (net/core/sock.c:2282 net/core/sock.c:2384) sk_psock_destroy (./include/net/sock.h:?) process_scheduled_works (kernel/workqueue.c:?) worker_thread (kernel/workqueue.c:?) kthread (kernel/kthread.c:438) ret_from_fork (arch/x86/kernel/process.c:164) ret_from_fork_asm (arch/x86/entry/entry_64.S:258)
CVE-2026-63802
In the Linux kernel, the following vulnerability has been resolved: blk-cgroup: fix UAF in __blkcg_rstat_flush() When multiple blkgs in the same blkcg are released concurrently, a use-after-free can occur. The race happens when one blkg's __blkcg_rstat_flush() removes another blkg's iostat entries via llist_del_all(). The second blkg sees an empty list and proceeds to free itself while the first is still iterating over its entries. Move the flush from __blkg_release() (RCU callback) to blkg_release() (before call_rcu). This ensures the RCU grace period waits for any concurrent flush's rcu_read_lock() section to complete before freeing.
CVE-2026-63831
In the Linux kernel, the following vulnerability has been resolved: mac802154: llsec: add skb_cow_data() before in-place crypto llsec_do_encrypt_unauth(), llsec_do_encrypt_auth(), llsec_do_decrypt_unauth(), and llsec_do_decrypt_auth() all perform in-place cryptographic transformations on skb data. They build a scatterlist with sg_init_one() pointing into the skb's linear data area and then pass the same scatterlist as both src and dst to the crypto API (e.g. crypto_skcipher_encrypt/decrypt, crypto_aead_encrypt/decrypt). On the RX path, __ieee802154_rx_handle_packet() clones the received skb before handing it to each subscriber via ieee802154_subif_frame(). The cloned skb shares the same underlying data buffer via reference counting. When llsec_do_decrypt() subsequently modifies this shared buffer in place, it corrupts data that other clones -- potentially belonging to other sockets or subsystems -- still reference. On the TX path, similar data sharing can occur when an skb's head has been cloned (skb_cloned() returns true). The fix is to call skb_cow_data() before performing any in-place crypto operation. skb_cow_data() ensures that the skb's data area is not shared: if the skb head is cloned or the data spans multiple fragments, it copies the data into a private buffer that can be safely modified in place. This is the same pattern used by: - ESP (net/ipv4/esp4.c, net/ipv6/esp6.c) - MACsec (drivers/net/macsec.c) - WireGuard (drivers/net/wireguard/receive.c) - TIPC (net/tipc/crypto.c) Without this guard, in-place crypto on shared skb data leads to: - Silent data corruption of other skb clones - Use-after-free when the crypto API scatterwalk writes through a page that has already been freed by another clone's kfree_skb() - Kernel crashes under concurrent 802.15.4 traffic with security enabled (KASAN/KMSAN reports slab-use-after-free) Found by 0sec (https://0sec.ai) using automated source analysis.
CVE-2026-64053
In the Linux kernel, the following vulnerability has been resolved: block: don't overwrite bip_vcnt in bio_integrity_copy_user() bio_integrity_add_page() already sets bip_vcnt to 1 for the bounce segment. Overwriting it with nr_vecs breaks bip_vcnt <= bip_max_vcnt on WRITE (bip_max_vcnt is 1), so the gap-merge checks in block/blk.h read past the bip_vec[] flex array. On READ the read is in bounds but lands on a saved user bvec instead of the bounce. The line was added for split propagation, but bio_integrity_clone() doesn't copy bip_vcnt and BIP_CLONE_FLAGS excludes BIP_COPY_USER.
CVE-2026-64383
In the Linux kernel, the following vulnerability has been resolved: smb: client: fix double-free in SMB2_flush() replay SMB2_flush() keeps its response buffer bookkeeping across replay attempts. If a replayable flush response is received and the retry then fails before cifs_send_recv() stores a replacement response, flush_exit will free the stale response pointer a second time. Reinitialize resp_buftype and rsp_iov at the top of the replay loop so cleanup only acts on response state produced by the current attempt. This fixes a double-free without changing replay handling for successful requests.
CVE-2026-64534
In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: check INIT_FAILED before nvmet_req_uninit in digest error path In nvmet_tcp_try_recv_ddgst(), when a data digest mismatch is detected, nvmet_req_uninit() is called unconditionally. However, if the command arrived via the nvmet_tcp_handle_req_failure() path, nvmet_req_init() had returned false and percpu_ref_tryget_live() was never executed. The unconditional percpu_ref_put() inside nvmet_req_uninit() then causes a refcount underflow, leading to a WARNING in percpu_ref_switch_to_atomic_rcu, a use-after-free diagnostic, and eventually a permanent workqueue deadlock. Check cmd->flags & NVMET_TCP_F_INIT_FAILED before calling nvmet_req_uninit(), matching the existing pattern in nvmet_tcp_execute_request().
CVE-2026-64564
In the Linux kernel, the following vulnerability has been resolved: sctp: don't free the ASCONF's own transport in DEL-IP processing sctp_process_asconf() caches the transport the ASCONF chunk is processed against in asconf->transport (== chunk->transport, set once in sctp_rcv()). For an ASCONF located through its Address Parameter by __sctp_rcv_asconf_lookup(), that cached transport corresponds to the Address Parameter, which need not be the packet's source address. sctp_process_asconf_param() rejects a DEL-IP for the packet source address (ADDIP D8, SCTP_ERROR_DEL_SRC_IP), but nothing protects asconf->transport. A single ASCONF can therefore carry, in order: [Address Parameter L] [DEL-IP L] [DEL-IP 0.0.0.0] where L differs from the source. The DEL-IP for L passes the D8 check and calls sctp_assoc_rm_peer() on the transport that asconf->transport still points at, freeing it (RCU-deferred). The following wildcard DEL-IP then reuses the now-dangling asconf->transport in sctp_assoc_set_primary() and sctp_assoc_del_nonprimary_peers(): set_primary() dereferences the freed transport (->ipaddr, ->state) and plants the dangling pointer into asoc->peer.primary_path / active_path, and del_nonprimary_peers(), keeping only the pointer that is no longer on the list, removes every real transport, leaving the association with a transport_count of 0 and primary_path/active_path pointing at freed memory. Reject a DEL-IP that targets the transport the ASCONF is being processed against, mirroring the existing source-address guard, so the wildcard branch can never reuse a freed transport.
CVE-2026-68201
In the Linux kernel, the following vulnerability has been resolved: ALSA: timer: drain a slave's callback before its master detaches it snd_timer_close_locked() drains the closing instance's own in-flight callback (IFLG_CALLBACK) before freeing it, but not its slaves'. When a master instance is closed, remove_slave_links() clears each slave's ->timer; the slave's own close then reads timer == NULL and takes the branch that skips the drain entirely (snd_timer_stop_slave() also no-ops on a NULL timer). So a slave whose callback is still running when the master is closed is freed underneath the live callback, leading to use-after-free. Drain the slaves too before remove_slave_links() severs them. snd_timer_stop() has already taken this instance off the active list, so no new slave callback can be queued. Take the slaves off the ack list so a pending one can't fire either, then wait for any that is already in flight.
CVE-2026-72261
In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: ipc3-control: Validate size in snd_sof_update_control In snd_sof_update_control(), firmware-provided cdata->num_elems is checked against local_cdata->data->size but never against the actual allocation size. If local_cdata->data->size was previously set to an inconsistent value, the memcpy could write past the allocated buffer. Add a bounds check to ensure num_elems fits within the available space in the ipc_control_data allocation before copying.
CVE-2026-80844
In the Linux kernel, the following vulnerability has been resolved: xfrm: ah6: validate routing header segments_left AH6 rearranges routing-header addresses before computing or verifying the ICV. ipv6_rearrange_rthdr() assumes that segments_left is not larger than the number of addresses described by the routing header's hdrlen field. That assumption does not hold for raw IPv6 HDRINCL packets. A packet with hdrlen equal to 2 describes one address, but can carry an arbitrary segments_left value. With segments_left equal to 255, the function moves its address pointer 4,064 bytes backwards and passes a 4,064-byte length to memmove(), resulting in an out-of-bounds access. Validate the invariant locally before modifying the routing header or performing any address-pointer arithmetic, and propagate malformed-header errors to the existing AH6 input and output error paths.
CVE-2026-81000
In the Linux kernel, the following vulnerability has been resolved: net: tun: bound receive headroom tun_get_user() uses tun->align both as skb headroom and when choosing how much packet data to keep linear. OVS can propagate an oversized headroom request from another port to TUN or TAP. When align is larger than the usable space in a one-page skb head, SKB_MAX_HEAD(align) underflows and the result becomes negative when stored in good_linear. That value later wraps when assigned to the size_t linear variable, and tun_alloc_skb() can place skb->data outside the allocated head. Bound the headroom stored by TUN to the one-page skb-head budget and the largest non-sentinel 16-bit skb header offset. Leave one linear byte for raw TUN and a complete Ethernet header for TAP, including NET_IP_ALIGN. Also pull the raw-TUN protocol byte and the TAP Ethernet header before accessing them, so these checks remain safe for nonlinear skbs supplied by other allocation paths.
CVE-2026-89846
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Bound rsp_info_len to avoid OOB sense-data read In qla2x00_status_entry(), the FWI2 status path advances sense_data and shrinks par_sense_len by rsp_info_len: if (IS_FWI2_CAPABLE(ha)) { sense_data += rsp_info_len; par_sense_len -= rsp_info_len; } rsp_info_len is a 32-bit value taken directly from the target's FCP response (sf.rsp_data_len), while par_sense_len is the IOCB data area size (28 bytes for 24xx, 60 bytes for 29xx). A hostile or buggy target reporting an rsp_info_len larger than par_sense_len makes the unsigned subtraction underflow to a huge value and advances sense_data out of bounds. The underflowed par_sense_len then defeats the cap in qla2x00_handle_sense(): if (sense_len > par_sense_len) sense_len = par_sense_len; memcpy(cp->sense_buffer, sense_data, sense_len); so the memcpy reads up to SCSI_SENSE_BUFFERSIZE bytes from the out-of-bounds sense_data pointer, leaking adjacent response-ring/heap memory into the command's sense buffer. Clamp rsp_info_len to par_sense_len before the subtraction so par_sense_len can never underflow and sense_data stays within the IOCB data area. The fix sits before the comp_status switch, covering both qla2x00_handle_sense() call sites.
Update packages.
In the Linux kernel, the following vulnerability has been resolved: block: zero non-PI portion of auto integrity buffer The auto-generated integrity buffer for writes needs to be fully initialized before being passed to the underlying block device, otherwise the uninitialized memory can be read back by userspace or anyone with physical access to the storage device. If protection information is generated, that portion of the integrity buffer is already initialized. The integrity data is also zeroed if PI generation is disabled via sysfs or the PI tuple size is 0. However, this misses the case where PI is generated and the PI tuple size is nonzero, but the metadata size is larger than the PI tuple. In this case, the remainder ("opaque") of the metadata is left uninitialized. Generalize the BLK_INTEGRITY_CSUM_NONE check to cover any case when the metadata is larger than just the PI tuple.
In the Linux kernel, the following vulnerability has been resolved: af_unix: Drop all SCM attributes for SOCKMAP. SOCKMAP can hide inflight fd from AF_UNIX GC. When a socket in SOCKMAP receives skb with inflight fd, sk_psock_verdict_data_ready() looks up the mapped socket and enqueue skb to its psock->ingress_skb. Since neither the old nor the new GC can inspect the psock queue, the hidden skb leaks the inflight sockets. Note that this cannot be detected via kmemleak because inflight sockets are linked to a global list. In addition, SOCKMAP redirect breaks the Tarjan-based GC's assumption that unix_edge.successor is always alive, which is no longer true once skb is redirected, resulting in use-after-free below. [0] Moreover, SOCKMAP does not call scm_stat_del() properly, so unix_show_fdinfo() could report an incorrect fd count. sk_msg_recvmsg() does not support any SCM attributes in the first place. Let's drop all SCM attributes before passing skb to the SOCKMAP layer. [0]: BUG: KASAN: slab-use-after-free in unix_del_edges (net/unix/garbage.c:118 net/unix/garbage.c:181 net/unix/garbage.c:251) Read of size 8 at addr ffff888125362670 by task kworker/56:1/496 CPU: 56 UID: 0 PID: 496 Comm: kworker/56:1 Not tainted 7.0.0-rc7-00263-gb9d8b856689d #3 PREEMPT(lazy) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-debian-1.17.0-1 04/01/2014 Workqueue: events sk_psock_backlog Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:122) print_report (mm/kasan/report.c:379) kasan_report (mm/kasan/report.c:597) unix_del_edges (net/unix/garbage.c:118 net/unix/garbage.c:181 net/unix/garbage.c:251) unix_destroy_fpl (net/unix/garbage.c:317) unix_destruct_scm (./include/net/scm.h:80 ./include/net/scm.h:86 net/unix/af_unix.c:1976) sk_psock_backlog (./include/linux/skbuff.h:?) process_scheduled_works (kernel/workqueue.c:?) worker_thread (kernel/workqueue.c:?) kthread (kernel/kthread.c:438) ret_from_fork (arch/x86/kernel/process.c:164) ret_from_fork_asm (arch/x86/entry/entry_64.S:258) </TASK> Allocated by task 955: kasan_save_track (mm/kasan/common.c:58 mm/kasan/common.c:78) __kasan_slab_alloc (mm/kasan/common.c:369) kmem_cache_alloc_noprof (mm/slub.c:4539) sk_prot_alloc (net/core/sock.c:2240) sk_alloc (net/core/sock.c:2301) unix_create1 (net/unix/af_unix.c:1099) unix_create (net/unix/af_unix.c:1169) __sock_create (net/socket.c:1606) __sys_socketpair (net/socket.c:1811) __x64_sys_socketpair (net/socket.c:1863 net/socket.c:1860 net/socket.c:1860) do_syscall_64 (arch/x86/entry/syscall_64.c:?) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) Freed by task 496: kasan_save_track (mm/kasan/common.c:58 mm/kasan/common.c:78) kasan_save_free_info (mm/kasan/generic.c:587) __kasan_slab_free (mm/kasan/common.c:287) kmem_cache_free (mm/slub.c:6165) __sk_destruct (net/core/sock.c:2282 net/core/sock.c:2384) sk_psock_destroy (./include/net/sock.h:?) process_scheduled_works (kernel/workqueue.c:?) worker_thread (kernel/workqueue.c:?) kthread (kernel/kthread.c:438) ret_from_fork (arch/x86/kernel/process.c:164) ret_from_fork_asm (arch/x86/entry/entry_64.S:258)
In the Linux kernel, the following vulnerability has been resolved: blk-cgroup: fix UAF in __blkcg_rstat_flush() When multiple blkgs in the same blkcg are released concurrently, a use-after-free can occur. The race happens when one blkg's __blkcg_rstat_flush() removes another blkg's iostat entries via llist_del_all(). The second blkg sees an empty list and proceeds to free itself while the first is still iterating over its entries. Move the flush from __blkg_release() (RCU callback) to blkg_release() (before call_rcu). This ensures the RCU grace period waits for any concurrent flush's rcu_read_lock() section to complete before freeing.
In the Linux kernel, the following vulnerability has been resolved: mac802154: llsec: add skb_cow_data() before in-place crypto llsec_do_encrypt_unauth(), llsec_do_encrypt_auth(), llsec_do_decrypt_unauth(), and llsec_do_decrypt_auth() all perform in-place cryptographic transformations on skb data. They build a scatterlist with sg_init_one() pointing into the skb's linear data area and then pass the same scatterlist as both src and dst to the crypto API (e.g. crypto_skcipher_encrypt/decrypt, crypto_aead_encrypt/decrypt). On the RX path, __ieee802154_rx_handle_packet() clones the received skb before handing it to each subscriber via ieee802154_subif_frame(). The cloned skb shares the same underlying data buffer via reference counting. When llsec_do_decrypt() subsequently modifies this shared buffer in place, it corrupts data that other clones -- potentially belonging to other sockets or subsystems -- still reference. On the TX path, similar data sharing can occur when an skb's head has been cloned (skb_cloned() returns true). The fix is to call skb_cow_data() before performing any in-place crypto operation. skb_cow_data() ensures that the skb's data area is not shared: if the skb head is cloned or the data spans multiple fragments, it copies the data into a private buffer that can be safely modified in place. This is the same pattern used by: - ESP (net/ipv4/esp4.c, net/ipv6/esp6.c) - MACsec (drivers/net/macsec.c) - WireGuard (drivers/net/wireguard/receive.c) - TIPC (net/tipc/crypto.c) Without this guard, in-place crypto on shared skb data leads to: - Silent data corruption of other skb clones - Use-after-free when the crypto API scatterwalk writes through a page that has already been freed by another clone's kfree_skb() - Kernel crashes under concurrent 802.15.4 traffic with security enabled (KASAN/KMSAN reports slab-use-after-free) Found by 0sec (https://0sec.ai) using automated source analysis.
In the Linux kernel, the following vulnerability has been resolved: block: don't overwrite bip_vcnt in bio_integrity_copy_user() bio_integrity_add_page() already sets bip_vcnt to 1 for the bounce segment. Overwriting it with nr_vecs breaks bip_vcnt <= bip_max_vcnt on WRITE (bip_max_vcnt is 1), so the gap-merge checks in block/blk.h read past the bip_vec[] flex array. On READ the read is in bounds but lands on a saved user bvec instead of the bounce. The line was added for split propagation, but bio_integrity_clone() doesn't copy bip_vcnt and BIP_CLONE_FLAGS excludes BIP_COPY_USER.
In the Linux kernel, the following vulnerability has been resolved: smb: client: fix double-free in SMB2_flush() replay SMB2_flush() keeps its response buffer bookkeeping across replay attempts. If a replayable flush response is received and the retry then fails before cifs_send_recv() stores a replacement response, flush_exit will free the stale response pointer a second time. Reinitialize resp_buftype and rsp_iov at the top of the replay loop so cleanup only acts on response state produced by the current attempt. This fixes a double-free without changing replay handling for successful requests.
In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: check INIT_FAILED before nvmet_req_uninit in digest error path In nvmet_tcp_try_recv_ddgst(), when a data digest mismatch is detected, nvmet_req_uninit() is called unconditionally. However, if the command arrived via the nvmet_tcp_handle_req_failure() path, nvmet_req_init() had returned false and percpu_ref_tryget_live() was never executed. The unconditional percpu_ref_put() inside nvmet_req_uninit() then causes a refcount underflow, leading to a WARNING in percpu_ref_switch_to_atomic_rcu, a use-after-free diagnostic, and eventually a permanent workqueue deadlock. Check cmd->flags & NVMET_TCP_F_INIT_FAILED before calling nvmet_req_uninit(), matching the existing pattern in nvmet_tcp_execute_request().
In the Linux kernel, the following vulnerability has been resolved: sctp: don't free the ASCONF's own transport in DEL-IP processing sctp_process_asconf() caches the transport the ASCONF chunk is processed against in asconf->transport (== chunk->transport, set once in sctp_rcv()). For an ASCONF located through its Address Parameter by __sctp_rcv_asconf_lookup(), that cached transport corresponds to the Address Parameter, which need not be the packet's source address. sctp_process_asconf_param() rejects a DEL-IP for the packet source address (ADDIP D8, SCTP_ERROR_DEL_SRC_IP), but nothing protects asconf->transport. A single ASCONF can therefore carry, in order: [Address Parameter L] [DEL-IP L] [DEL-IP 0.0.0.0] where L differs from the source. The DEL-IP for L passes the D8 check and calls sctp_assoc_rm_peer() on the transport that asconf->transport still points at, freeing it (RCU-deferred). The following wildcard DEL-IP then reuses the now-dangling asconf->transport in sctp_assoc_set_primary() and sctp_assoc_del_nonprimary_peers(): set_primary() dereferences the freed transport (->ipaddr, ->state) and plants the dangling pointer into asoc->peer.primary_path / active_path, and del_nonprimary_peers(), keeping only the pointer that is no longer on the list, removes every real transport, leaving the association with a transport_count of 0 and primary_path/active_path pointing at freed memory. Reject a DEL-IP that targets the transport the ASCONF is being processed against, mirroring the existing source-address guard, so the wildcard branch can never reuse a freed transport.
In the Linux kernel, the following vulnerability has been resolved: ALSA: timer: drain a slave's callback before its master detaches it snd_timer_close_locked() drains the closing instance's own in-flight callback (IFLG_CALLBACK) before freeing it, but not its slaves'. When a master instance is closed, remove_slave_links() clears each slave's ->timer; the slave's own close then reads timer == NULL and takes the branch that skips the drain entirely (snd_timer_stop_slave() also no-ops on a NULL timer). So a slave whose callback is still running when the master is closed is freed underneath the live callback, leading to use-after-free. Drain the slaves too before remove_slave_links() severs them. snd_timer_stop() has already taken this instance off the active list, so no new slave callback can be queued. Take the slaves off the ack list so a pending one can't fire either, then wait for any that is already in flight.
In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: ipc3-control: Validate size in snd_sof_update_control In snd_sof_update_control(), firmware-provided cdata->num_elems is checked against local_cdata->data->size but never against the actual allocation size. If local_cdata->data->size was previously set to an inconsistent value, the memcpy could write past the allocated buffer. Add a bounds check to ensure num_elems fits within the available space in the ipc_control_data allocation before copying.
In the Linux kernel, the following vulnerability has been resolved: xfrm: ah6: validate routing header segments_left AH6 rearranges routing-header addresses before computing or verifying the ICV. ipv6_rearrange_rthdr() assumes that segments_left is not larger than the number of addresses described by the routing header's hdrlen field. That assumption does not hold for raw IPv6 HDRINCL packets. A packet with hdrlen equal to 2 describes one address, but can carry an arbitrary segments_left value. With segments_left equal to 255, the function moves its address pointer 4,064 bytes backwards and passes a 4,064-byte length to memmove(), resulting in an out-of-bounds access. Validate the invariant locally before modifying the routing header or performing any address-pointer arithmetic, and propagate malformed-header errors to the existing AH6 input and output error paths.
In the Linux kernel, the following vulnerability has been resolved: net: tun: bound receive headroom tun_get_user() uses tun->align both as skb headroom and when choosing how much packet data to keep linear. OVS can propagate an oversized headroom request from another port to TUN or TAP. When align is larger than the usable space in a one-page skb head, SKB_MAX_HEAD(align) underflows and the result becomes negative when stored in good_linear. That value later wraps when assigned to the size_t linear variable, and tun_alloc_skb() can place skb->data outside the allocated head. Bound the headroom stored by TUN to the one-page skb-head budget and the largest non-sentinel 16-bit skb header offset. Leave one linear byte for raw TUN and a complete Ethernet header for TAP, including NET_IP_ALIGN. Also pull the raw-TUN protocol byte and the TAP Ethernet header before accessing them, so these checks remain safe for nonlinear skbs supplied by other allocation paths.
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Bound rsp_info_len to avoid OOB sense-data read In qla2x00_status_entry(), the FWI2 status path advances sense_data and shrinks par_sense_len by rsp_info_len: if (IS_FWI2_CAPABLE(ha)) { sense_data += rsp_info_len; par_sense_len -= rsp_info_len; } rsp_info_len is a 32-bit value taken directly from the target's FCP response (sf.rsp_data_len), while par_sense_len is the IOCB data area size (28 bytes for 24xx, 60 bytes for 29xx). A hostile or buggy target reporting an rsp_info_len larger than par_sense_len makes the unsigned subtraction underflow to a huge value and advances sense_data out of bounds. The underflowed par_sense_len then defeats the cap in qla2x00_handle_sense(): if (sense_len > par_sense_len) sense_len = par_sense_len; memcpy(cp->sense_buffer, sense_data, sense_len); so the memcpy reads up to SCSI_SENSE_BUFFERSIZE bytes from the out-of-bounds sense_data pointer, leaking adjacent response-ring/heap memory into the command's sense buffer. Clamp rsp_info_len to par_sense_len before the subtraction so par_sense_len can never underflow and sense_data stays within the IOCB data area. The fix sits before the comp_status switch, covering both qla2x00_handle_sense() call sites.
N/A
SRPMS
- kernel-5.14.0-687.51.1.el9_8.src.rpm
MD5: 78799e92a1e262155896cf8c784f67a9
SHA-256: 17841e121cdb8f546c9e2cf2624439e4ba43c88aa4689c17588d50a2204caca3
Size: 145.55 MB
Asianux Server 9 for x86_64
- kernel-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 51342556345c73263f7b85f2a8314168
SHA-256: 3241bf93f22095de1eced3a1cced51aa02c9838a85a9d2453cf207ab0972326f
Size: 1.02 MB - kernel-abi-stablelists-5.14.0-687.51.1.el9_8.noarch.rpm
MD5: 8c438a15fa79b92a75516e3ae1799c62
SHA-256: cd42579f84518f211493d63c5ab121e20ff5239b0948242c54074a04c32f6457
Size: 1.06 MB - kernel-core-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: bbbfafba216cecde569686a909e984c4
SHA-256: 747e54868e8e83b055d1605b3fc174e6c4f6639dcd39edb103e927924dc56a5b
Size: 17.35 MB - kernel-cross-headers-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 832ca8db7dbd9f47041653ac75adabbd
SHA-256: fffe7b997035d013c2db64e99a9d3b42a5fa194aab4d96f6ef77e1f03abef46c
Size: 8.09 MB - kernel-debug-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: c97c620f5335c9cce532f080864bf3d3
SHA-256: 0d0fa8b2c35df48c8de50941f1e509265aab92319ff8b754ced66a202dc2bf87
Size: 1.02 MB - kernel-debug-core-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 2a45c4a482ef9c64be00c81d82fc5db1
SHA-256: 210af6c985578073144d90cc70f9d38b8796f4b56985a27c9e4efe17c12ed308
Size: 31.22 MB - kernel-debug-devel-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 81f1a614aec39cf59965eebdd61c3318
SHA-256: 1a4f33ac889a8bb445c110420898d240cc54bf81e112d3ffddd35535eed2dd89
Size: 21.45 MB - kernel-debug-devel-matched-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 80c04844b3d21d96337b38d2c4771b6f
SHA-256: 058d0096762308288e7b6598389dff4765e19c04c86684cbbd22d2d1ff50ce1b
Size: 1.02 MB - kernel-debug-modules-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 36fd803a4462f3c1ffd85ac715bc1c09
SHA-256: 063a3d1d2785a9624a4462a18f6eefcc7a6d3f36dbecf7ce6af71603d1cf4a99
Size: 70.20 MB - kernel-debug-modules-core-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 988534223c389affc808968a093f56cf
SHA-256: 0f391cc174fbd12a3077166accd02fa3e262a21b7f92ee675c8fffe6e3c768cf
Size: 49.93 MB - kernel-debug-modules-extra-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: a957fb6bd5cdd120e7152a5adf11087b
SHA-256: f9dbfbe43e6b7c84467f44e16f4e12bca4c45f1ff474eb89948c86b3a1bfa256
Size: 1.82 MB - kernel-debug-uki-virt-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: e7c6d4d8a5be1d9c8c43f75922c01f18
SHA-256: 8baa05b39b6f5bd745d1477a28c5b3f8ac4d4382704ec4540de234da97b2a786
Size: 88.18 MB - kernel-devel-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 8ac958d57cfea68eb0da6a0103b2ae3d
SHA-256: 295d108743ea892aa4afac7f04b69c8f8ea171823fd00f2335f928577a015f83
Size: 21.25 MB - kernel-devel-matched-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: b9242b7c1a9cebe98a14f7a4e81497bd
SHA-256: a5871663072e2e351ac524303d3215151aedaa69660a135d50dec4fa8ffdacfd
Size: 1.02 MB - kernel-doc-5.14.0-687.51.1.el9_8.noarch.rpm
MD5: 37f167118f8c7643b741a31f2772318e
SHA-256: 0daa6240ebca89e51eb2bcfc0d6929975fe6d6ea0391e23f618af3ebb7f7b448
Size: 39.04 MB - kernel-headers-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 54d1c7eb2ebba1c9f1901fbdceff5eaf
SHA-256: 8fde4ded4e7027ba9396600e3484b1e4b0bfbc99986e4ddb3ef8bc584500b487
Size: 2.81 MB - kernel-modules-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 770e2acdaae950ba94f418c56e1058d5
SHA-256: d20e7bd93cefaacf9d08502382eca3a9c16447aa00b150b1218040e205c42fda
Size: 40.02 MB - kernel-modules-core-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: a9172e01c6a741946440841f713f8a6f
SHA-256: 42da045ad3fe2f2afefa45383ca572fe2234fc483a31178bcf1febd2271cc243
Size: 31.09 MB - kernel-modules-extra-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 302e6c1872439058bfd70f54838393b8
SHA-256: ecb54a3a1040b8b26150dc4312ababcaa60df82df22b74f45cb2a070a8925353
Size: 1.46 MB - kernel-rt-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 59141d63d09886646963762f79a4c312
SHA-256: 6d047bcf2f65d2cc42ea25bbf1dd5701966a523f618bf78d7c436e2afa817974
Size: 1.02 MB - kernel-rt-core-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 4b84b8245426c1c2aadf40c2bea65fd2
SHA-256: 5e391542658ac56fa64ea39996f6d71471d2c3decfd4239de1c604bc276c02e7
Size: 17.25 MB - kernel-rt-debug-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 429bbebe2e02d818ad3c1a2988949c44
SHA-256: 23a2d18dbe72cf3b735a17c5081f33b8d33a9fc9a66628ae610c45f6b9b68e7f
Size: 1.02 MB - kernel-rt-debug-core-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 48fe4913ca2dad29e10ab3da4e5c7da3
SHA-256: 7050006e36c3bd5f1eeaa357d2d289cd3b2e393dd660fc3bf5b60742d458981e
Size: 18.71 MB - kernel-rt-debug-devel-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 1b6def1472df0097f2a02a45749adaa9
SHA-256: 69d95a4ec26100ebc0496e083898146ee04acbb5d99d16aa323e92f33f73ca11
Size: 21.38 MB - kernel-rt-debug-modules-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: b5e80e3e9dae252496fb1a179ebc2bcd
SHA-256: eac2050425fac3536f1083169c90faa00fb584adcacf57f0031688059b91e14c
Size: 41.60 MB - kernel-rt-debug-modules-core-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 969db2d07c4013cee6a32c5977953c69
SHA-256: 8920742f4290c20f9be71d75cdd556ca1a365611017bb44ab8eed6ccd50e588a
Size: 32.26 MB - kernel-rt-debug-modules-extra-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 0c7f2c5971b759157f2e797d0587a1fc
SHA-256: b8e24f28e49f4361d1c389cef1a99bd47b907cb3e47bb40734c33ecb0baf24ca
Size: 1.49 MB - kernel-rt-devel-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 9c56164302ecee0c6c5ba91ea2d024a8
SHA-256: 3a61ff706b9d42c4ef543aa0b44fd3d3e3ce2ebfbbd5b19151df621c321658bd
Size: 21.24 MB - kernel-rt-modules-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: f3a58a5b5fb7ff058329fd0876f784d0
SHA-256: c73af6524a1cb85cdb01c4e5f2644f6958df10db5bef4f3529aec4e819b16527
Size: 40.07 MB - kernel-rt-modules-core-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: ea5255d147f871ec2dbca0e660460404
SHA-256: d9ade554d2e0c13e6f7a53fedb2c47e948c74057076933f94b8f65d704f1c621
Size: 31.16 MB - kernel-rt-modules-extra-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 4cd6e45a0ba1070dfa8b76186e739c2f
SHA-256: f8d079057322370c9d6031a7fc73809cd8d932123413629648043b55321b725b
Size: 1.46 MB - kernel-tools-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: e11afb789d663c91d239fec87ffaa23d
SHA-256: 416483d0022480ea7b9ae712c1fa2505336df834901f65d4536ddb5a2e7b9889
Size: 1.31 MB - kernel-tools-libs-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 5cbed90461c2dcba3d044dca394ce66c
SHA-256: a8009adca28faf20e59688e2bc14b10550e75e1a4289c01f9d127ec9b3cd6802
Size: 1.04 MB - kernel-tools-libs-devel-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: b182182de416a231c4ba4a5aa2252a19
SHA-256: 36871660b488c0eb2b6928ffe2951fe20a0f22634e1e5549bf9abe3302631a47
Size: 1.03 MB - kernel-uki-virt-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 6d20e69bd69a397aab2bff22fced252c
SHA-256: b465b011c5219355a5d22b10c82284ac7eed61d232e819f66008f34e33d5cdd8
Size: 66.05 MB - kernel-uki-virt-addons-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 18c7a3014edc1fcfe46e7150acd5a35c
SHA-256: fa7c28ff7d6c3fbf824deb7d410f342f8e018c89e18e8384ac74a519a3b8bb4f
Size: 1.05 MB - libperf-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 3c68466ba94ed2ffe48ff0af076faa8f
SHA-256: f9026a8810ebef0752edc75057a05659c6ad12cde1dce34c645f6daacdd91e7f
Size: 1.04 MB - perf-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: 33a309fc6540ef09210cac5e46f4bd74
SHA-256: d5e201ba511c65ced17dfd424cf74ae73a277a807ef078c3a02c693197773b41
Size: 3.44 MB - python3-perf-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: dc1586f22b4a5a4ce08180b064c5920d
SHA-256: e60d40a4624cf7c9051b5260970978517900329aeecffcd6a1246fc46f968c0e
Size: 2.61 MB - rtla-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: c19b546ef2eab4e65e6324b7205a2db2
SHA-256: 88359e5d95aa7f1c3d61a3d6877bc330eaee9d60626a4e64a933f05d75f1492c
Size: 1.09 MB - rv-5.14.0-687.51.1.el9_8.x86_64.rpm
MD5: c68051affa445499110ee747da214d46
SHA-256: 1e1a62621b630f49dcb65ca2c6629a8d5c72388c3461ead53eb3e5075ec6bc1d
Size: 1.04 MB