kernel-4.18.0-553.167.1.el8_10
エラータID: AXSA:2026-1968:90
The kernel packages contain the Linux kernel, the core of any Linux operating system.
Security Fix(es):
* kernel: drm/amdgpu: Fix use-after-free race in VM acquire (CVE-2026-43370)
* kernel: mac802154: llsec: add skb_cow_data() before in-place crypto (CVE-2026-63831)
* kernel: sctp: don't free the ASCONF's own transport in DEL-IP processing (CVE-2026-64564)
* 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)
Bug Fix(es) and Enhancement(s):
* sctp: prevent peer transport count overflow [rhel-8.10.z] (JIRA:RHEL-216297)
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-43370
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Fix use-after-free race in VM acquire Replace non-atomic vm->process_info assignment with cmpxchg() to prevent race when parent/child processes sharing a drm_file both try to acquire the same VM after fork(). (cherry picked from commit c7c573275ec20db05be769288a3e3bb2250ec618)
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-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-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: drm/amdgpu: Fix use-after-free race in VM acquire Replace non-atomic vm->process_info assignment with cmpxchg() to prevent race when parent/child processes sharing a drm_file both try to acquire the same VM after fork(). (cherry picked from commit c7c573275ec20db05be769288a3e3bb2250ec618)
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: 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: 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-4.18.0-553.167.1.el8_10.src.rpm
MD5: d9afc71b7366dd0bbf869b364fca3c2b
SHA-256: a90d602092bd474bcfa9c2da188e9ecd51d0a94c759f35b5e1565d149d6cb238
Size: 132.47 MB
Asianux Server 8 for x86_64
- bpftool-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: a419d520c5eb694cf8e552390a04d629
SHA-256: 91c486910a0f960fdbef795ae4745cb08b60043a1fd9e21dde292af88951c292
Size: 11.35 MB - kernel-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 2accaeacc80de9593b8405b03a6d7553
SHA-256: 42d5269e73d32fb34711d543c5a16fee0791187d7562dedbff7a8cd4f23aeb70
Size: 10.63 MB - kernel-abi-stablelists-4.18.0-553.167.1.el8_10.noarch.rpm
MD5: 0f47ecb49c42491d4e872fd539fbacb3
SHA-256: 14ca0bf5ac3e8376b3df3dfafad8f7d94f33fc3b8de36e3eb71e4c8172d1b623
Size: 10.64 MB - kernel-core-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 3a6af82deac40a3989c366d4528f4a93
SHA-256: 1842f4e224c105894a51b950797ce4818f19be655853279fa7c39015888fe03f
Size: 43.67 MB - kernel-cross-headers-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 0347ea88f9b4f92b7d8696724a2088b7
SHA-256: 70e18f173595a19bda4ef69d211d8f1e0eb6e75babcab4509504d95175cf6e43
Size: 15.97 MB - kernel-debug-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: d301bcf10b6928e81f0d2833fd0f9e40
SHA-256: d76ae448e8ff82739acc19a5c3716c63699fe68fb1f7b4ad21fddc625f459319
Size: 10.62 MB - kernel-debug-core-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 80493b9ae01e14ca6fc0248bba7989f4
SHA-256: 20f24579489e424bc4c8e441ce107644a0e1de6756ddee78cc488bbd72908881
Size: 72.99 MB - kernel-debug-devel-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: b2f5084f68efd0f59f1a29443601abb2
SHA-256: 8ddbfe1bcbdc869c044bce390a7e93f656235e602967dccb0ba307d9aa5076dd
Size: 24.48 MB - kernel-debug-modules-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 1f1749c5daece1254caac8cb8195ef42
SHA-256: d2f7d581f3c60d4b39f0ef447af32d66aa40bbc9bd5dab6fd3670fee8ca2ed85
Size: 66.10 MB - kernel-debug-modules-extra-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 2d5c0a7b44a5130d5a0984ab2c0af61a
SHA-256: 1d669fc045f1cf4fcf080ae21872510fb46659301cc9b9bd98ccdf3ff667a35b
Size: 12.01 MB - kernel-devel-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 54ac35d0e524f2ed015977664597069e
SHA-256: b5cb2991ef8d64d7169787dcecaf994f361f2e8fda36e6a2518f01e1e5103397
Size: 24.28 MB - kernel-doc-4.18.0-553.167.1.el8_10.noarch.rpm
MD5: 476a56647f564f3d18a52f616a87cd66
SHA-256: 64da99ca013694e0db601b7fa36ee665afa1a6f256983dc40833de0b8f9f0641
Size: 28.50 MB - kernel-headers-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 7379c99e93c6fd110f855fe1b5df8660
SHA-256: 2f3906b7550b1f9fe47ab812994dda735cbac7ea4f5622515e1c528be8eae4da
Size: 11.98 MB - kernel-modules-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 86afea069b248f6b4218b7cbea4a39b9
SHA-256: d0b50cb53e4f60b290143a4c46e80e40e992a2c737a4aa7ee2c867f678ca53d2
Size: 36.48 MB - kernel-modules-extra-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 5c1f7c943333503c21bd1f5318fdf035
SHA-256: fea5df61ca8ff2f20f20ca51c2bf2515992e0f465bc649098430eb6aa6911e7b
Size: 11.32 MB - kernel-tools-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 46abcedee040a45b255e3788ac155fce
SHA-256: 7b665672ca0399e4bc9bbf956a5af7c0c0a03c6f2490fb95538bb15170223ea2
Size: 10.84 MB - kernel-tools-libs-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 76e837f477ed0428753b73d74df478b7
SHA-256: 5a9a12b7980faa9e91d2e487e7be5a25724fda79475334c1941cfbf31481c21d
Size: 10.63 MB - kernel-tools-libs-devel-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: 4fe4c1aaf842b9337db0faa8971e9cb4
SHA-256: f457bf81d1744d7c19f11f40447d9fea718cc5596f9621603b50965ad5e04b71
Size: 10.63 MB - perf-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: a4131c6f3b898fb81925d1fad0a7fcb1
SHA-256: 355e5faa24b62da05a9a98c4b5e5a0c9f49b5a55b9779982c571218285fb5ea8
Size: 12.95 MB - python3-perf-4.18.0-553.167.1.el8_10.x86_64.rpm
MD5: fcb8de08dccd0788256505dd392ec1d0
SHA-256: 783161b4326e93de73a86a5d56e1c44dff70951eae3d6545ec85066c6869a9a2
Size: 10.75 MB