Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

suse-cvrf логотип

SUSE-SU-2026:2310-1

Опубликовано: 09 июн. 2026
Источник: suse-cvrf

Описание

Security update for the Linux Kernel

The SUSE Linux Enterprise 15 SP6 kernel was updated to fix various security issues

The following security issues were fixed:

  • CVE-2026-31405: media: dvb-net: fix OOB access in ULE extension header tables (bsc#1261700).
  • CVE-2026-31473: media: mc, v4l2: serialize REINIT and REQBUFS with req_queue_mutex (bsc#1262663).
  • CVE-2026-31613: smb: client: fix OOB reads parsing symlink error response (bsc#1263769).
  • CVE-2026-31614: smb: client: fix off-by-8 bounds check in check_wsl_eas() (bsc#1263774).
  • CVE-2026-31629: nfc: llcp: add missing return after LLCP_CLOSED checks (bsc#1263790).
  • CVE-2026-31758: usb: usbtmc: Flush anchored URBs in usbtmc_release (bsc#1264093).
  • CVE-2026-43037: ip6_tunnel: clear skb2->cb in ip4ip6_err() (bsc#1263995).
  • CVE-2026-43206: drm/amdkfd: Fix out-of-bounds write in kfd_event_page_set() (bsc#1264551).
  • CVE-2026-43362: smb: client: fix in-place encryption corruption in SMB2_write() (bsc#1264989).
  • CVE-2026-43499: rtmutex: Use waiter::task instead of current in remove_waiter() (bsc#1266001).
  • CVE-2026-43501: ipv6: rpl: reserve mac_len headroom when recompressed SRH grows (bsc#1266009).
  • CVE-2026-43503: net: skbuff: propagate shared-frag marker through frag-transfer helpers (bsc#1265960).
  • CVE-2026-45852: RDMA/rxe: Fix double free in rxe_srq_from_init (bsc#1266711).
  • CVE-2026-45910: RDMA/rxe: Fix race condition in QP timer handlers (bsc#1266889).
  • CVE-2026-45970: bonding: alb: fix UAF in rlb_arp_recv during bond up/down (bsc#1267205).
  • CVE-2026-46004: ALSA: caiaq: Handle probe errors properly (bsc#1267222).
  • CVE-2026-46021: thermal: core: Fix thermal zone governor cleanup issues (bsc#1267220).
  • CVE-2026-46043: RDMA/rxe: Validate pad and ICRC before payload_size() in rxe_rcv (bsc#1266901).
  • CVE-2026-46113: KVM: x86: Fix shadow paging use-after-free due to unexpected GFN (bsc#1266969).
  • CVE-2026-46114: RDMA/rxe: Reject non-8-byte ATOMIC_WRITE payloads (bsc#1266972).
  • CVE-2026-46243: smb: client: reject userspace cifs.spnego descriptions (bsc#1266238).

The following non security issues were fixed:

  • arm64: tlb: Allow XZR argument to TLBI ops (git-fixes).
  • arm64: tlb: Optimize ARM64_WORKAROUND_REPEAT_TLBI (git-fixes).
  • drm/hyperv: validate resolution_count and fix WIN8 fallback (git-fixes).
  • drm/hyperv: validate VMBus packet size in receive callback (git-fixes).
  • net: gro: don't merge zcopy skbs (git-fixes).
  • net: mana: Add NULL guards in teardown path to prevent panic on attach failure (git-fixes).
  • net: mana: Expose hardware diagnostic info via debugfs (bsc#1266414).
  • net: mana: Fix TOCTOU double-fetch of hwc_msg_id from DMA buffer (bsc#1265928).
  • net: mana: hardening: Reject zero max_num_queues from GDMA_QUERY_MAX_RESOURCES (git-fixes).
  • net: mana: Skip redundant detach on already-detached port (git-fixes).
  • net: mana: Use kvmalloc for large RX queue and buffer allocations (bsc#1266765).
  • net: mana: Use per-queue allocation for tx_qp to reduce allocation size (bsc#1266765).
  • net: mana: validate rx_req_idx to prevent out-of-bounds array access (bsc#1266402).
  • RDMA/mana_ib: Report max_msg_sz in mana_ib_query_port (git-fixes).
  • s390/barrier: Make array_index_mask_nospec() __always_inline (bsc#1263068).
  • s390/entry: Scrub r12 register on kernel entry (bsc#1263068).
  • s390/syscalls: Add spectre boundary for syscall dispatch table (bsc#1263068).
  • smb: client: correctly handle ErrorContextData as a flexible array (git-fixes).

Список пакетов

Image SLES15-SP6
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-Azure
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-CHOST-BYOS
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-CHOST-BYOS-Aliyun
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-CHOST-BYOS-Azure
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-CHOST-BYOS-EC2
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-CHOST-BYOS-GCE
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-CHOST-BYOS-GDC
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-CHOST-BYOS-SAP-CCloud
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-EC2
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-EC2-ECS-HVM
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-GCE
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-HPC-BYOS
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-HPC-BYOS-Azure
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-HPC-BYOS-EC2
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-HPC-BYOS-GCE
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-HPC-EC2
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-HPC-GCE
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-Hardened-BYOS
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-Hardened-BYOS-Azure
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-Hardened-BYOS-EC2
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-Hardened-BYOS-GCE
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-Azure
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-Azure-3P
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-BYOS
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-BYOS-Azure
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-BYOS-EC2
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-BYOS-GCE
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-EC2
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-GCE
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-Hardened
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-Hardened-Azure
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-Hardened-BYOS
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-Hardened-BYOS-Azure
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-Hardened-BYOS-EC2
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-Hardened-BYOS-GCE
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-Hardened-EC2
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAP-Hardened-GCE
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAPCAL
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAPCAL-Azure
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAPCAL-EC2
kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-SAPCAL-GCE
kernel-default-6.4.0-150600.23.115.1
SUSE Linux Enterprise Live Patching 15 SP6
kernel-default-livepatch-6.4.0-150600.23.115.1
kernel-default-livepatch-devel-6.4.0-150600.23.115.1
kernel-livepatch-6_4_0-150600_23_115-default-1-150600.13.3.1
SUSE Linux Enterprise Server 15 SP6-LTSS
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-64kb-6.4.0-150600.23.115.1
kernel-64kb-devel-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
kernel-default-base-6.4.0-150600.23.115.1.150600.12.54.1
kernel-default-devel-6.4.0-150600.23.115.1
kernel-devel-6.4.0-150600.23.115.1
kernel-docs-6.4.0-150600.23.115.1
kernel-macros-6.4.0-150600.23.115.1
kernel-obs-build-6.4.0-150600.23.115.1
kernel-source-6.4.0-150600.23.115.1
kernel-syms-6.4.0-150600.23.115.1
kernel-zfcpdump-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
reiserfs-kmp-default-6.4.0-150600.23.115.1
SUSE Linux Enterprise Server for SAP Applications 15 SP6
cluster-md-kmp-default-6.4.0-150600.23.115.1
dlm-kmp-default-6.4.0-150600.23.115.1
gfs2-kmp-default-6.4.0-150600.23.115.1
kernel-default-6.4.0-150600.23.115.1
kernel-default-base-6.4.0-150600.23.115.1.150600.12.54.1
kernel-default-devel-6.4.0-150600.23.115.1
kernel-devel-6.4.0-150600.23.115.1
kernel-docs-6.4.0-150600.23.115.1
kernel-macros-6.4.0-150600.23.115.1
kernel-obs-build-6.4.0-150600.23.115.1
kernel-source-6.4.0-150600.23.115.1
kernel-syms-6.4.0-150600.23.115.1
ocfs2-kmp-default-6.4.0-150600.23.115.1
reiserfs-kmp-default-6.4.0-150600.23.115.1

Описание

In the Linux kernel, the following vulnerability has been resolved: media: dvb-net: fix OOB access in ULE extension header tables The ule_mandatory_ext_handlers[] and ule_optional_ext_handlers[] tables in handle_one_ule_extension() are declared with 255 elements (valid indices 0-254), but the index htype is derived from network-controlled data as (ule_sndu_type & 0x00FF), giving a range of 0-255. When htype equals 255, an out-of-bounds read occurs on the function pointer table, and the OOB value may be called as a function pointer. Add a bounds check on htype against the array size before either table is accessed. Out-of-range values now cause the SNDU to be discarded.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: mc, v4l2: serialize REINIT and REQBUFS with req_queue_mutex MEDIA_REQUEST_IOC_REINIT can run concurrently with VIDIOC_REQBUFS(0) queue teardown paths. This can race request object cleanup against vb2 queue cancellation and lead to use-after-free reports. We already serialize request queueing against STREAMON/OFF with req_queue_mutex. Extend that serialization to REQBUFS, and also take the same mutex in media_request_ioctl_reinit() so REINIT is in the same exclusion domain. This keeps request cleanup and queue cancellation from running in parallel for request-capable devices.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix OOB reads parsing symlink error response When a CREATE returns STATUS_STOPPED_ON_SYMLINK, smb2_check_message() returns success without any length validation, leaving the symlink parsers as the only defense against an untrusted server. symlink_data() walks SMB 3.1.1 error contexts with the loop test "p < end", but reads p->ErrorId at offset 4 and p->ErrorDataLength at offset 0. When the server-controlled ErrorDataLength advances p to within 1-7 bytes of end, the next iteration will read past it. When the matching context is found, sym->SymLinkErrorTag is read at offset 4 from p->ErrorContextData with no check that the symlink header itself fits. smb2_parse_symlink_response() then bounds-checks the substitute name using SMB2_SYMLINK_STRUCT_SIZE as the offset of PathBuffer from iov_base. That value is computed as sizeof(smb2_err_rsp) + sizeof(smb2_symlink_err_rsp), which is correct only when ErrorContextCount == 0. With at least one error context the symlink data sits 8 bytes deeper, and each skipped non-matching context shifts it further by 8 + ALIGN(ErrorDataLength, 8). The check is too short, allowing the substitute name read to run past iov_len. The out-of-bound heap bytes are UTF-16-decoded into the symlink target and returned to userspace via readlink(2). Fix this all up by making the loops test require the full context header to fit, rejecting sym if its header runs past end, and bound the substitute name against the actual position of sym->PathBuffer rather than a fixed offset. Because sub_offs and sub_len are 16bits, the pointer math will not overflow here with the new greater-than.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix off-by-8 bounds check in check_wsl_eas() The bounds check uses (u8 *)ea + nlen + 1 + vlen as the end of the EA name and value, but ea_data sits at offset sizeof(struct smb2_file_full_ea_info) = 8 from ea, not at offset 0. The strncmp() later reads ea->ea_data[0..nlen-1] and the value bytes follow at ea_data[nlen+1..nlen+vlen], so the actual end is ea->ea_data + nlen + 1 + vlen. Isn't pointer math fun? The earlier check (u8 *)ea > end - sizeof(*ea) only guarantees the 8-byte header is in bounds, but since the last EA is placed within 8 bytes of the end of the response, the name and value bytes are read past the end of iov. Fix this mess all up by using ea->ea_data as the base for the bounds check. An "untrusted" server can use this to leak up to 8 bytes of kernel heap into the EA name comparison and influence which WSL xattr the data is interpreted as.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: add missing return after LLCP_CLOSED checks In nfc_llcp_recv_hdlc() and nfc_llcp_recv_disc(), when the socket state is LLCP_CLOSED, the code correctly calls release_sock() and nfc_llcp_sock_put() but fails to return. Execution falls through to the remainder of the function, which calls release_sock() and nfc_llcp_sock_put() again. This results in a double release_sock() and a refcount underflow via double nfc_llcp_sock_put(), leading to a use-after-free. Add the missing return statements after the LLCP_CLOSED branches in both functions to prevent the fall-through.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: usbtmc: Flush anchored URBs in usbtmc_release When calling usbtmc_release, pending anchored URBs must be flushed or killed to prevent use-after-free errors (e.g. in the HCD giveback path). Call usbtmc_draw_down() to allow anchored URBs to be completed.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ip6_tunnel: clear skb2->cb[] in ip4ip6_err() Oskar Kjos reported the following problem. ip4ip6_err() calls icmp_send() on a cloned skb whose cb[] was written by the IPv6 receive path as struct inet6_skb_parm. icmp_send() passes IPCB(skb2) to __ip_options_echo(), which interprets that cb[] region as struct inet_skb_parm (IPv4). The layouts differ: inet6_skb_parm.nhoff at offset 14 overlaps inet_skb_parm.opt.rr, producing a non-zero rr value. __ip_options_echo() then reads optlen from attacker-controlled packet data at sptr[rr+1] and copies that many bytes into dopt->__data, a fixed 40-byte stack buffer (IP_OPTIONS_DATA_FIXED_SIZE). To fix this we clear skb2->cb[], as suggested by Oskar Kjos. Also add minimal IPv4 header validation (version == 4, ihl >= 5).


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Fix out-of-bounds write in kfd_event_page_set() The kfd_event_page_set() function writes KFD_SIGNAL_EVENT_LIMIT * 8 bytes via memset without checking the buffer size parameter. This allows unprivileged userspace to trigger an out-of bounds kernel memory write by passing a small buffer, leading to potential privilege escalation.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xfrm: esp: avoid in-place decrypt on shared skb frags MSG_SPLICE_PAGES can attach pages from a pipe directly to an skb. TCP marks such skbs with SKBFL_SHARED_FRAG after skb_splice_from_iter(), so later paths that may modify packet data can first make a private copy. The IPv4/IPv6 datagram append paths did not set this flag when splicing pages into UDP skbs. That leaves an ESP-in-UDP packet made from shared pipe pages looking like an ordinary uncloned nonlinear skb. ESP input then takes the no-COW fast path for uncloned skbs without a frag_list and decrypts in place over data that is not owned privately by the skb. Mark IPv4/IPv6 datagram splice frags with SKBFL_SHARED_FRAG, matching TCP. Also make ESP input fall back to skb_cow_data() when the flag is present, so ESP does not decrypt externally backed frags in place. Private nonlinear skb frags still use the existing fast path. This intentionally does not change ESP output. In esp_output_head(), the path that appends the ESP trailer to existing skb tailroom without calling skb_cow_data() is not reachable for nonlinear skbs: skb_tailroom() returns zero when skb->data_len is nonzero, while ESP tailen is positive. Thus ESP output will either use the separate destination-frag path or fall back to skb_cow_data().


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix in-place encryption corruption in SMB2_write() SMB2_write() places write payload in iov[1..n] as part of rq_iov. smb3_init_transform_rq() pointer-shares rq_iov, so crypt_message() encrypts iov[1] in-place, replacing the original plaintext with ciphertext. On a replayable error, the retry sends the same iov[1] which now contains ciphertext instead of the original data, resulting in corruption. The corruption is most likely to be observed when connections are unstable, as reconnects trigger write retries that re-send the already-encrypted data. This affects SFU mknod, MF symlinks, etc. On kernels before 6.10 (prior to the netfs conversion), sync writes also used this path and were similarly affected. The async write path wasn't unaffected as it uses rq_iter which gets deep-copied. Fix by moving the write payload into rq_iter via iov_iter_kvec(), so smb3_init_transform_rq() deep-copies it before encryption.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rtmutex: Use waiter::task instead of current in remove_waiter() remove_waiter() is used by the slowlock paths, but it is also used for proxy-lock rollback in rt_mutex_start_proxy_lock() when invoked from futex_requeue(). In the latter case waiter::task is not current, but remove_waiter() operates on current for the dequeue operation. That results in several problems: 1) the rbtree dequeue happens without waiter::task::pi_lock being held 2) the waiter task's pi_blocked_on state is not cleared, which leaves a dangling pointer primed for UAF around. 3) rt_mutex_adjust_prio_chain() operates on the wrong top priority waiter task Use waiter::task instead of current in all related operations in remove_waiter() to cure those problems. [ tglx: Fixup rt_mutex_adjust_prio_chain(), add a comment and amend the changelog ]


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ipv6: rpl: reserve mac_len headroom when recompressed SRH grows ipv6_rpl_srh_rcv() decompresses an RFC 6554 Source Routing Header, swaps the next segment into ipv6_hdr->daddr, recompresses, then pulls the old header and pushes the new one plus the IPv6 header back. The recompressed header can be larger than the received one when the swap reduces the common-prefix length the segments share with daddr (CmprI=0, CmprE>0, seg[0][0] != daddr[0] gives the maximum +8 bytes). pskb_expand_head() was gated on segments_left == 0, so on earlier segments the push consumed unchecked headroom. Once skb_push() leaves fewer than skb->mac_len bytes in front of data, skb_mac_header_rebuild()'s call to: skb_set_mac_header(skb, -skb->mac_len); will store (data - head) - mac_len into the u16 mac_header field, which wraps to ~65530, and the following memmove() writes mac_len bytes ~64KiB past skb->head. A single AF_INET6/SOCK_RAW/IPV6_HDRINCL packet over lo with a two segment type-3 SRH (CmprI=0, CmprE=15) reaches headroom 8 after one pass; KASAN reports a 14-byte OOB write in ipv6_rthdr_rcv. Fix this by expanding the head whenever the remaining room is less than the push size plus mac_len, and request that much extra so the rebuilt MAC header fits afterwards.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: 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.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix double free in rxe_srq_from_init In rxe_srq_from_init(), the queue pointer 'q' is assigned to 'srq->rq.queue' before copying the SRQ number to user space. If copy_to_user() fails, the function calls rxe_queue_cleanup() to free the queue, but leaves the now-invalid pointer in 'srq->rq.queue'. The caller of rxe_srq_from_init() (rxe_create_srq) eventually calls rxe_srq_cleanup() upon receiving the error, which triggers a second rxe_queue_cleanup() on the same memory, leading to a double free. The call trace looks like this: kmem_cache_free+0x.../0x... rxe_queue_cleanup+0x1a/0x30 [rdma_rxe] rxe_srq_cleanup+0x42/0x60 [rdma_rxe] rxe_elem_release+0x31/0x70 [rdma_rxe] rxe_create_srq+0x12b/0x1a0 [rdma_rxe] ib_create_srq_user+0x9a/0x150 [ib_core] Fix this by moving 'srq->rq.queue = q' after copy_to_user.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix race condition in QP timer handlers I encontered the following warning: WARNING: drivers/infiniband/sw/rxe/rxe_task.c:249 at rxe_sched_task+0x1c8/0x238 [rdma_rxe], CPU#0: swapper/0/0 ... libsha1 [last unloaded: ip6_udp_tunnel] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Tainted: G C 6.19.0-rc5-64k-v8+ #37 PREEMPT Tainted: [C]=CRAP Hardware name: Raspberry Pi 4 Model B Rev 1.2 Call trace: rxe_sched_task+0x1c8/0x238 [rdma_rxe] (P) retransmit_timer+0x130/0x188 [rdma_rxe] call_timer_fn+0x68/0x4d0 __run_timers+0x630/0x888 ... WARNING: drivers/infiniband/sw/rxe/rxe_task.c:38 at rxe_sched_task+0x1c0/0x238 [rdma_rxe], CPU#0: swapper/0/0 ... WARNING: drivers/infiniband/sw/rxe/rxe_task.c:111 at do_work+0x488/0x5c8 [rdma_rxe], CPU#3: kworker/u17:4/93400 ... refcount_t: underflow; use-after-free. WARNING: lib/refcount.c:28 at refcount_warn_saturate+0x138/0x1a0, CPU#3: kworker/u17:4/93400 The issue is caused by a race condition between retransmit_timer() and rxe_destroy_qp, leading to the Queue Pair's (QP) reference count dropping to zero during timer handler execution. It seems this warning is harmless because rxe_qp_do_cleanup() will flush all pending timers and requests. Example of flow causing the issue: CPU0 CPU1 retransmit_timer() { spin_lock_irqsave rxe_destroy_qp() __rxe_cleanup() __rxe_put() // qp->ref_count decrease to 0 rxe_qp_do_cleanup() { if (qp->valid) { rxe_sched_task() { WARN_ON(rxe_read(task->qp) <= 0); } } spin_unlock_irqrestore } spin_lock_irqsave qp->valid = 0 spin_unlock_irqrestore } Ensure the QP's reference count is maintained and its validity is checked within the timer callbacks by adding calls to rxe_get(qp) and corresponding rxe_put(qp) after use.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bonding: alb: fix UAF in rlb_arp_recv during bond up/down The ALB RX path may access rx_hashtbl concurrently with bond teardown. During rapid bond up/down cycles, rlb_deinitialize() frees rx_hashtbl while RX handlers are still running, leading to a null pointer dereference detected by KASAN. However, the root cause is that rlb_arp_recv() can still be accessed after setting recv_probe to NULL, which is actually a use-after-free (UAF) issue. That is the reason for using the referenced commit in the Fixes tag. [ 214.174138] Oops: general protection fault, probably for non-canonical address 0xdffffc000000001d: 0000 [#1] SMP KASAN PTI [ 214.186478] KASAN: null-ptr-deref in range [0x00000000000000e8-0x00000000000000ef] [ 214.194933] CPU: 30 UID: 0 PID: 2375 Comm: ping Kdump: loaded Not tainted 6.19.0-rc8+ #2 PREEMPT(voluntary) [ 214.205907] Hardware name: Dell Inc. PowerEdge R730/0WCJNT, BIOS 2.14.0 01/14/2022 [ 214.214357] RIP: 0010:rlb_arp_recv+0x505/0xab0 [bonding] [ 214.220320] Code: 0f 85 2b 05 00 00 48 b8 00 00 00 00 00 fc ff df 40 0f b6 ed 48 c1 e5 06 49 03 ad 78 01 00 00 48 8d 7d 28 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 06 0f 8e 12 05 00 00 80 7d 28 00 0f 84 8c 00 [ 214.241280] RSP: 0018:ffffc900073d8870 EFLAGS: 00010206 [ 214.247116] RAX: dffffc0000000000 RBX: ffff888168556822 RCX: ffff88816855681e [ 214.255082] RDX: 000000000000001d RSI: dffffc0000000000 RDI: 00000000000000e8 [ 214.263048] RBP: 00000000000000c0 R08: 0000000000000002 R09: ffffed11192021c8 [ 214.271013] R10: ffff8888c9010e43 R11: 0000000000000001 R12: 1ffff92000e7b119 [ 214.278978] R13: ffff8888c9010e00 R14: ffff888168556822 R15: ffff888168556810 [ 214.286943] FS: 00007f85d2d9cb80(0000) GS:ffff88886ccb3000(0000) knlGS:0000000000000000 [ 214.295966] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 214.302380] CR2: 00007f0d047b5e34 CR3: 00000008a1c2e002 CR4: 00000000001726f0 [ 214.310347] Call Trace: [ 214.313070] <IRQ> [ 214.315318] ? __pfx_rlb_arp_recv+0x10/0x10 [bonding] [ 214.320975] bond_handle_frame+0x166/0xb60 [bonding] [ 214.326537] ? __pfx_bond_handle_frame+0x10/0x10 [bonding] [ 214.332680] __netif_receive_skb_core.constprop.0+0x576/0x2710 [ 214.339199] ? __pfx_arp_process+0x10/0x10 [ 214.343775] ? sched_balance_find_src_group+0x98/0x630 [ 214.349513] ? __pfx___netif_receive_skb_core.constprop.0+0x10/0x10 [ 214.356513] ? arp_rcv+0x307/0x690 [ 214.360311] ? __pfx_arp_rcv+0x10/0x10 [ 214.364499] ? __lock_acquire+0x58c/0xbd0 [ 214.368975] __netif_receive_skb_one_core+0xae/0x1b0 [ 214.374518] ? __pfx___netif_receive_skb_one_core+0x10/0x10 [ 214.380743] ? lock_acquire+0x10b/0x140 [ 214.385026] process_backlog+0x3f1/0x13a0 [ 214.389502] ? process_backlog+0x3aa/0x13a0 [ 214.394174] __napi_poll.constprop.0+0x9f/0x370 [ 214.399233] net_rx_action+0x8c1/0xe60 [ 214.403423] ? __pfx_net_rx_action+0x10/0x10 [ 214.408193] ? lock_acquire.part.0+0xbd/0x260 [ 214.413058] ? sched_clock_cpu+0x6c/0x540 [ 214.417540] ? mark_held_locks+0x40/0x70 [ 214.421920] handle_softirqs+0x1fd/0x860 [ 214.426302] ? __pfx_handle_softirqs+0x10/0x10 [ 214.431264] ? __neigh_event_send+0x2d6/0xf50 [ 214.436131] do_softirq+0xb1/0xf0 [ 214.439830] </IRQ> The issue is reproducible by repeatedly running ip link set bond0 up/down while receiving ARP messages, where rlb_arp_recv() can race with rlb_deinitialize() and dereference a freed rx_hashtbl entry. Fix this by setting recv_probe to NULL and then calling synchronize_net() to wait for any concurrent RX processing to finish. This ensures that no RX handler can access rx_hashtbl after it is freed in bond_alb_deinitialize().


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: caiaq: Handle probe errors properly The probe procedure of setup_card() in caiaq driver doesn't treat the error cases gracefully, e.g. the error from snd_card_register() calls snd_card_free() but continues. This would lead to a UAF for the further calls like snd_usb_caiaq_control_init(), as Berk suggested in another patch in the link below. However, the problem is not only that; in general, this function drops the all error handlings (as it's a void function) although its caller can propagate an error to snd_probe(), which eventually calls snd_card_free() as a proper error path. That said, we should treat each error case in setup_card(), and just return the error code promptly, which is then handled later as a fatal error in snd_probe(). This patch achieves it by changing the setup_card() to return an error code. Also, the superfluous snd_card_free() call is removed, too. Note that card->private_free can be set still safely at returning an error. All called functions in card_free() have checks of the unassigned resources or NULL checks.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thermal: core: Fix thermal zone governor cleanup issues If thermal_zone_device_register_with_trips() fails after adding a thermal governor to the thermal zone being registered, the governor is not removed from it as appropriate which may lead to a memory leak. In turn, thermal_zone_device_unregister() calls thermal_set_governor() without acquiring the thermal zone lock beforehand which may race with a governor update via sysfs and may lead to a use-after-free in that case. Address these issues by adding two thermal_set_governor() calls, one to thermal_release() to remove the governor from the given thermal zone, and one to the thermal zone registration error path to cover failures preceding the thermal zone device registration.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: 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.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Fix shadow paging use-after-free due to unexpected GFN The shadow MMU computes GFNs for direct shadow pages using sp->gfn plus the SPTE index. This assumption breaks for shadow paging if the guest page tables are modified between VM entries (similar to commit aad885e77496, "KVM: x86/mmu: Drop/zap existing present SPTE even when creating an MMIO SPTE", 2026-03-27). The flow is as follows: - a PDE is installed for a 2MB mapping, and a page in that area is accessed. KVM creates a kvm_mmu_page consisting of 512 4KB pages; the kvm_mmu_page is marked by FNAME(fetch) as direct-mapped because the guest's mapping is a huge page (and thus contiguous). - the PDE mapping is changed from outside the guest. - the guest accesses another page in the same 2MB area. KVM installs a new leaf SPTE and rmap entry; the SPTE uses the "correct" GFN (i.e. based on the new mapping, as changed in the previous step) but that GFN is outside of the [sp->gfn, sp->gfn + 511] range; therefore the rmap entry cannot be found and removed when the kvm_mmu_page is zapped. - the memslot that covers the first 2MB mapping is deleted, and the kvm_mmu_page for the now-invalid GPA is zapped. However, rmap_remove() only looks at the [sp->gfn, sp->gfn + 511] range established in step 1, and fails to find the rmap entry that was recorded by step 3. - any operation that causes an rmap walk for the same page accessed by step 3 then walks a stale rmap and dereferences a freed kvm_mmu_page. This includes dirty logging or MMU notifier invalidations (e.g., from MADV_DONTNEED). The underlying issue is that KVM's walking of shadow PTEs assumes that if a SPTE is present when KVM wants to install a non-leaf SPTE, then the existing kvm_mmu_page must be for the correct gfn. Because the only way for the gfn to be wrong is if KVM messed up and failed to zap a SPTE... which shouldn't happen, but *actually* only happens in response to a guest write. That bug dates back literally forever, as even the first version of KVM assumes that the GFN matches and walks into the "wrong" shadow page. However, that was only an imprecision until 2032a93d66fa ("KVM: MMU: Don't allocate gfns page for direct mmu pages") came along. Fix it by checking for a target gfn mismatch and zapping the existing SPTE. That way the old SP and rmap entries are gone, KVM installs the rmap in the right location, and everyone is happy.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Reject non-8-byte ATOMIC_WRITE payloads atomic_write_reply() at drivers/infiniband/sw/rxe/rxe_resp.c unconditionally dereferences 8 bytes at payload_addr(pkt): value = *(u64 *)payload_addr(pkt); check_rkey() previously accepted an ATOMIC_WRITE request with pktlen == resid == 0 because the length validation only compared pktlen against resid. A remote initiator that sets the RETH length to 0 therefore reaches atomic_write_reply() with a zero-byte logical payload, and the responder reads sizeof(u64) bytes from past the logical end of the packet into skb->head tailroom, then writes those 8 bytes into the attacker's MR via rxe_mr_do_atomic_write(). That is a remote disclosure of 4 bytes of kernel tailroom per probe (the other 4 bytes are the packet's own trailing ICRC). IBA oA19-28 defines ATOMIC_WRITE as exactly 8 bytes. Anything else is protocol-invalid. Hoist a strict length check into check_rkey() so the responder never reaches the unchecked dereference, and keep the existing WRITE-family length logic for the normal RDMA WRITE path. Reproduced on mainline with an unmodified rxe driver: a sustained zero-length ATOMIC_WRITE probe repeatedly leaks adjacent skb head-buffer bytes into the attacker's MR, including recognisable kernel strings and partial kernel-direct-map pointer words. With this patch applied the responder rejects the PDU and the MR stays all-zero.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: reject userspace cifs.spnego descriptions cifs.spnego key descriptions contain authority-bearing fields such as pid, uid, creduid, and upcall_target that cifs.upcall treats as kernel-originating inputs. However, userspace can also create keys of this type through request_key(2) or add_key(2), allowing those fields to be supplied without CIFS origin. Only accept cifs.spnego descriptions while CIFS is using its private spnego_cred to request the key.


Затронутые продукты
Image SLES15-SP6-BYOS-Azure:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-EC2:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS-GCE:kernel-default-6.4.0-150600.23.115.1
Image SLES15-SP6-BYOS:kernel-default-6.4.0-150600.23.115.1

Ссылки