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

exploitDog

suse-cvrf логотип

openSUSE-SU-2026:20572-1

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

Описание

Security update for the Linux Kernel

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

The following security issues were fixed:

  • CVE-2025-39998: scsi: target: target_core_configfs: Add length check to avoid buffer overflow (bsc#1252073).
  • CVE-2025-40253: s390/ctcm: Fix double-kfree (bsc#1255084).
  • CVE-2025-68794: iomap: adjust read range correctly for non-block-aligned positions (bsc#1256647).
  • CVE-2025-71239: audit: add fchmodat2() to change attributes class (bsc#1259759).
  • CVE-2026-23072: l2tp: Fix memleak in l2tp_udp_encap_recv() (bsc#1257708).
  • CVE-2026-23103: ipvlan: Make the addrs_lock be per port (bsc#1257773).
  • CVE-2026-23120: l2tp: avoid one data-race in l2tp_tunnel_del_work() (bsc#1258280).
  • CVE-2026-23125: sctp: move SCTP_CMD_ASSOC_SHKEY right after SCTP_CMD_PEER_INIT (bsc#1258293).
  • CVE-2026-23138: kABI: Preserve values of the trace recursion bits (bsc#1258301).
  • CVE-2026-23140: bpf, test_run: Subtract size of xdp_frame from allowed metadata size (bsc#1258305).
  • CVE-2026-23187: pmdomain: imx8m-blk-ctrl: fix out-of-range access of bc->domains (bsc#1258330).
  • CVE-2026-23193: scsi: target: iscsi: Fix use-after-free in iscsit_dec_session_usage_count() (bsc#1258414).
  • CVE-2026-23201: ceph: fix oops due to invalid pointer for kfree() in parse_longname() (bsc#1258337).
  • CVE-2026-23204: net: add skb_header_pointer_careful() helper (bsc#1258340).
  • CVE-2026-23215: x86/vmware: Fix hypercall clobbers (bsc#1258476).
  • CVE-2026-23216: scsi: target: iscsi: Fix use-after-free in iscsit_dec_conn_usage_count() (bsc#1258447).
  • CVE-2026-23231: netfilter: nf_tables: fix use-after-free in nf_tables_addchain() (bsc#1259188).
  • CVE-2026-23239: espintcp: Fix race condition in espintcp_close() (bsc#1259485).
  • CVE-2026-23240: tls: Fix race condition in tls_sw_cancel_work_tx() (bsc#1259484).
  • CVE-2026-23242: RDMA/siw: Fix potential NULL pointer dereference in header processing (bsc#1259795).
  • CVE-2026-23243: RDMA/umad: Reject negative data_len in ib_umad_write (bsc#1259797).
  • CVE-2026-23255: net: add proper RCU protection to /proc/net/ptype (bsc#1259891).
  • CVE-2026-23262: gve: Fix stats report corruption on queue count change (bsc#1259870).
  • CVE-2026-23270: net/sched: Only allow act_ct to bind to clsact/ingress qdiscs and shared blocks (bsc#1259886).
  • CVE-2026-23272: netfilter: nf_tables: unconditionally bump set->nelems before insertion (bsc#1260009).
  • CVE-2026-23274: netfilter: xt_IDLETIMER: reject rev0 reuse of ALARM timer labels (bsc#1260005).
  • CVE-2026-23277: net/sched: teql: fix NULL pointer dereference in iptunnel_xmit on TEQL slave xmit (bsc#1259997).
  • CVE-2026-23278: netfilter: nf_tables: always walk all pending catchall elements (bsc#1259998).
  • CVE-2026-23281: wifi: libertas: fix use-after-free in lbs_free_adapter() (bsc#1260464).
  • CVE-2026-23292: scsi: target: Fix recursive locking in __configfs_open_file() (bsc#1260500).
  • CVE-2026-23293: net: vxlan: fix nd_tbl NULL dereference when IPv6 is disabled (bsc#1260486).
  • CVE-2026-23297: nfsd: Fix cred ref leak in nfsd_nl_threads_set_doit() (bsc#1260490).
  • CVE-2026-23304: ipv6: fix NULL pointer deref in ip6_rt_get_dev_rcu() (bsc#1260544).
  • CVE-2026-23319: bpf: Fix a UAF issue in bpf_trampoline_link_cgroup_shim (bsc#1260735).
  • CVE-2026-23326: xsk: Fix fragment node deletion to prevent buffer leak (bsc#1260606).
  • CVE-2026-23335: RDMA/irdma: Fix kernel stack leak in irdma_create_user_ah() (bsc#1260550).
  • CVE-2026-23343: xdp: produce a warning when calculated tailroom is negative (bsc#1260527).
  • CVE-2026-23361: PCI: dwc: ep: Flush MSI-X write before unmapping its ATU entry (bsc#1260732).
  • CVE-2026-23379: net/sched: ets: fix divide by zero in the offload path (bsc#1260481).
  • CVE-2026-23381: net: bridge: fix nd_tbl NULL dereference when IPv6 is disabled (bsc#1260471).
  • CVE-2026-23383: bpf, arm64: Force 8-byte alignment for JIT buffer to prevent atomic tearing (bsc#1260497).
  • CVE-2026-23386: gve: fix incorrect buffer cleanup in gve_tx_clean_pending_packets for QPL (bsc#1260799).
  • CVE-2026-23393: bridge: cfm: Fix race condition in peer_mep deletion (bsc#1260522).
  • CVE-2026-23398: icmp: fix NULL pointer dereference in icmp_tag_validation() (bsc#1260730).
  • CVE-2026-23413: clsact: Fix use-after-free in init/destroy rollback asymmetry (bsc#1261498).
  • CVE-2026-23414: tls: Purge async_hold in tls_decrypt_async_wait() (bsc#1261496).
  • CVE-2026-23419: net/rds: Fix circular locking dependency in rds_tcp_tune (bsc#1261507).
  • CVE-2026-23425: KVM: arm64: Fix ID register initialization for non-protected pKVM guests (bsc#1261506).
  • CVE-2026-31788: xen/privcmd: restrict usage in unprivileged domU (bsc#1259707).

The following non security issues were fixed:

  • KVM: x86/mmu: Drop/zap existing present SPTE even when creating an MMIO SPTE (bsc#1259461).
  • KVM: x86: synthesize CPUID bits only if CPU capability is set (bsc#1257511).
  • Revert "drm/i915/display: Add quirk to skip retraining of dp link (bsc#1253129)."
  • Update config files (bsc#1254307).
  • apparmor: Fix double free of ns_name in aa_replace_profiles() (bsc#1258849).
  • apparmor: fix differential encoding verification (bsc#1258849).
  • apparmor: fix memory leak in verify_header (bsc#1258849).
  • apparmor: fix missing bounds check on DEFAULT table in verify_dfa() (bsc#1258849).
  • apparmor: fix race between freeing data and fs accessing it (bsc#1258849).
  • apparmor: fix race on rawdata dereference (bsc#1258849).
  • apparmor: fix side-effect bug in match_char() macro usage (bsc#1258849).
  • apparmor: fix unprivileged local user can do privileged policy management (bsc#1258849).
  • apparmor: fix: limit the number of levels of policy namespaces (bsc#1258849).
  • apparmor: replace recursive profile removal with iterative approach (bsc#1258849).
  • apparmor: validate DFA start states are in bounds in unpack_pdb (bsc#1258849).
  • bpf, btf: Enforce destructor kfunc type with CFI (bsc#1259955).
  • bpf: crypto: Use the correct destructor kfunc type (bsc#1259955).
  • btrfs: only enforce free space tree if v1 cache is required for bs < ps cases (bsc#1260459).
  • btrfs: tracepoints: get correct superblock from dentry in event btrfs_sync_file() (bsc#1257777).
  • dmaengine: sh: rz-dmac: Move CHCTRL updates under spinlock (git-fixes).
  • drm/amdkfd: Unreserve bo if queue update failed (git-fixes).
  • drm/i915/display: Add module param to skip retraining of dp link (bsc#1253129).
  • drm/i915/dsc: Add Selective Update register definitions (stable-fixes).
  • drm/i915/dsc: Add helper for writing DSC Selective Update ET parameters (stable-fixes).
  • firmware: microchip: fail auto-update probe if no flash found (git-fixes).
  • kABI: Include trace recursion bits in kABI tracking (bsc#1258301).
  • net: mana: Trigger VF reset/recovery on health check failure due to HWC timeout (bsc#1259580).
  • nvme: add support for dynamic quirk configuration via module parameter (bsc#1243208).
  • nvme: expose active quirks in sysfs (bsc#1243208).
  • nvme: fix memory leak in quirks_param_set() (bsc#1243208).
  • powerpc/crash: adjust the elfcorehdr size (jsc#PED-11175 git-fixes).
  • powerpc/kdump: Fix size calculation for hot-removed memory ranges (jsc#PED-11175 git-fixes).
  • s390/cio: Update purge function to unregister the unused subchannels (bsc#1254214).
  • s390/ipl: Clear SBP flag when bootprog is set (bsc#1258175).
  • s390: Disable ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP (bsc#1254306).
  • scsi: fnic: Add Cisco hardware model names (jsc#PED-15441).
  • scsi: fnic: Add and integrate support for FDMI (jsc#PED-15441).
  • scsi: fnic: Add and integrate support for FIP (jsc#PED-15441).
  • scsi: fnic: Add functionality in fnic to support FDLS (jsc#PED-15441).
  • scsi: fnic: Add headers and definitions for FDLS (jsc#PED-15441).
  • scsi: fnic: Add stats and related functionality (jsc#PED-15441).
  • scsi: fnic: Add support for fabric based solicited requests and responses (jsc#PED-15441).
  • scsi: fnic: Add support for target based solicited requests and responses (jsc#PED-15441).
  • scsi: fnic: Add support for unsolicited requests and responses (jsc#PED-15441).
  • scsi: fnic: Add support to handle port channel RSCN (jsc#PED-15441).
  • scsi: fnic: Code cleanup (jsc#PED-15441).
  • scsi: fnic: Delete incorrect debugfs error handling (jsc#PED-15441).
  • scsi: fnic: Fix crash in fnic_wq_cmpl_handler when FDMI times out (jsc#PED-15441).
  • scsi: fnic: Fix indentation and remove unnecessary parenthesis (jsc#PED-15441).
  • scsi: fnic: Fix missing DMA mapping error in fnic_send_frame() (jsc#PED-15441).
  • scsi: fnic: Fix use of uninitialized value in debug message (jsc#PED-15441).
  • scsi: fnic: Increment driver version (jsc#PED-15441).
  • scsi: fnic: Modify IO path to use FDLS (jsc#PED-15441).
  • scsi: fnic: Modify fnic interfaces to use FDLS (jsc#PED-15441).
  • scsi: fnic: Propagate SCSI error code from fnic_scsi_drv_init() (jsc#PED-15441).
  • scsi: fnic: Remove always-true IS_FNIC_FCP_INITIATOR macro (jsc#PED-15441).
  • scsi: fnic: Remove extern definition from .c files (jsc#PED-15441).
  • scsi: fnic: Remove unnecessary debug print (jsc#PED-15441).
  • scsi: fnic: Remove unnecessary else and unnecessary break in FDLS (jsc#PED-15441).
  • scsi: fnic: Remove unnecessary else to fix warning in FDLS FIP (jsc#PED-15441).
  • scsi: fnic: Remove unnecessary spinlock locking and unlocking (jsc#PED-15441).
  • scsi: fnic: Replace fnic->lock_flags with local flags (jsc#PED-15441).
  • scsi: fnic: Replace shost_printk() with dev_info()/dev_err() (jsc#PED-15441).
  • scsi: fnic: Replace use of sizeof with standard usage (jsc#PED-15441).
  • scsi: fnic: Return appropriate error code for mem alloc failure (jsc#PED-15441).
  • scsi: fnic: Return appropriate error code from failure of scsi drv init (jsc#PED-15441).
  • scsi: fnic: Test for memory allocation failure and return error code (jsc#PED-15441).
  • scsi: fnic: Turn off FDMI ACTIVE flags on link down (jsc#PED-15441).
  • scsi: hisi_sas: Fix NULL pointer exception during user_scan() (bsc#1255687).
  • scsi: scsi_transport_sas: Fix the maximum channel scanning issue (bsc#1255687, git-fixes).
  • scsi: smartpqi: Fix memory leak in pqi_report_phys_luns() (git-fixes, jsc#PED-15042).
  • selftests/bpf: Use the correct destructor kfunc type (bsc#1259955).
  • selftests/powerpc: Suppress -Wmaybe-uninitialized with GCC 15 (bsc#1261669 ltc#212590).
  • tg3: Fix race for querying speed/duplex (bsc#1257183).
  • x86/platform/uv: Handle deconfigured sockets (bsc#1260347).

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

openSUSE Leap 16.0
cluster-md-kmp-64kb-6.12.0-160000.28.1
cluster-md-kmp-azure-6.12.0-160000.28.1
cluster-md-kmp-default-6.12.0-160000.28.1
cluster-md-kmp-rt-6.12.0-160000.28.1
dlm-kmp-64kb-6.12.0-160000.28.1
dlm-kmp-azure-6.12.0-160000.28.1
dlm-kmp-default-6.12.0-160000.28.1
dlm-kmp-rt-6.12.0-160000.28.1
dtb-allwinner-6.12.0-160000.28.1
dtb-altera-6.12.0-160000.28.1
dtb-amazon-6.12.0-160000.28.1
dtb-amd-6.12.0-160000.28.1
dtb-amlogic-6.12.0-160000.28.1
dtb-apm-6.12.0-160000.28.1
dtb-apple-6.12.0-160000.28.1
dtb-arm-6.12.0-160000.28.1
dtb-broadcom-6.12.0-160000.28.1
dtb-cavium-6.12.0-160000.28.1
dtb-exynos-6.12.0-160000.28.1
dtb-freescale-6.12.0-160000.28.1
dtb-hisilicon-6.12.0-160000.28.1
dtb-lg-6.12.0-160000.28.1
dtb-marvell-6.12.0-160000.28.1
dtb-mediatek-6.12.0-160000.28.1
dtb-nvidia-6.12.0-160000.28.1
dtb-qcom-6.12.0-160000.28.1
dtb-renesas-6.12.0-160000.28.1
dtb-rockchip-6.12.0-160000.28.1
dtb-socionext-6.12.0-160000.28.1
dtb-sprd-6.12.0-160000.28.1
dtb-xilinx-6.12.0-160000.28.1
gfs2-kmp-64kb-6.12.0-160000.28.1
gfs2-kmp-azure-6.12.0-160000.28.1
gfs2-kmp-default-6.12.0-160000.28.1
gfs2-kmp-rt-6.12.0-160000.28.1
kernel-64kb-6.12.0-160000.28.1
kernel-64kb-devel-6.12.0-160000.28.1
kernel-64kb-extra-6.12.0-160000.28.1
kernel-64kb-optional-6.12.0-160000.28.1
kernel-azure-6.12.0-160000.28.1
kernel-azure-devel-6.12.0-160000.28.1
kernel-azure-extra-6.12.0-160000.28.1
kernel-azure-optional-6.12.0-160000.28.1
kernel-azure-vdso-6.12.0-160000.28.1
kernel-default-6.12.0-160000.28.1
kernel-default-base-6.12.0-160000.27.1.160000.2.8
kernel-default-devel-6.12.0-160000.28.1
kernel-default-extra-6.12.0-160000.28.1
kernel-default-optional-6.12.0-160000.28.1
kernel-default-vdso-6.12.0-160000.28.1
kernel-devel-6.12.0-160000.28.1
kernel-docs-6.12.0-160000.28.1
kernel-docs-html-6.12.0-160000.28.1
kernel-kvmsmall-6.12.0-160000.28.1
kernel-kvmsmall-devel-6.12.0-160000.28.1
kernel-kvmsmall-vdso-6.12.0-160000.28.1
kernel-macros-6.12.0-160000.28.1
kernel-obs-build-6.12.0-160000.28.1
kernel-obs-qa-6.12.0-160000.28.1
kernel-rt-6.12.0-160000.28.1
kernel-rt-devel-6.12.0-160000.28.1
kernel-rt-extra-6.12.0-160000.28.1
kernel-rt-optional-6.12.0-160000.28.1
kernel-rt-vdso-6.12.0-160000.28.1
kernel-source-6.12.0-160000.28.1
kernel-source-vanilla-6.12.0-160000.28.1
kernel-syms-6.12.0-160000.28.1
kernel-zfcpdump-6.12.0-160000.28.1
kselftests-kmp-64kb-6.12.0-160000.28.1
kselftests-kmp-azure-6.12.0-160000.28.1
kselftests-kmp-default-6.12.0-160000.28.1
kselftests-kmp-rt-6.12.0-160000.28.1
ocfs2-kmp-64kb-6.12.0-160000.28.1
ocfs2-kmp-azure-6.12.0-160000.28.1
ocfs2-kmp-default-6.12.0-160000.28.1
ocfs2-kmp-rt-6.12.0-160000.28.1

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: target: target_core_configfs: Add length check to avoid buffer overflow A buffer overflow arises from the usage of snprintf to write into the buffer "buf" in target_lu_gp_members_show function located in /drivers/target/target_core_configfs.c. This buffer is allocated with size LU_GROUP_NAME_BUF (256 bytes). snprintf(...) formats multiple strings into buf with the HBA name (hba->hba_group.cg_item), a slash character, a devicename (dev-> dev_group.cg_item) and a newline character, the total formatted string length may exceed the buffer size of 256 bytes. Since snprintf() returns the total number of bytes that would have been written (the length of %s/%sn ), this value may exceed the buffer length (256 bytes) passed to memcpy(), this will ultimately cause function memcpy reporting a buffer overflow error. An additional check of the return value of snprintf() can avoid this buffer overflow.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: s390/ctcm: Fix double-kfree The function 'mpc_rcvd_sweep_req(mpcginfo)' is called conditionally from function 'ctcmpc_unpack_skb'. It frees passed mpcginfo. After that a call to function 'kfree' in function 'ctcmpc_unpack_skb' frees it again. Remove 'kfree' call in function 'mpc_rcvd_sweep_req(mpcginfo)'. Bug detected by the clang static analyzer.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iomap: adjust read range correctly for non-block-aligned positions iomap_adjust_read_range() assumes that the position and length passed in are block-aligned. This is not always the case however, as shown in the syzbot generated case for erofs. This causes too many bytes to be skipped for uptodate blocks, which results in returning the incorrect position and length to read in. If all the blocks are uptodate, this underflows length and returns a position beyond the folio. Fix the calculation to also take into account the block offset when calculating how many bytes can be skipped for uptodate blocks.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: audit: add fchmodat2() to change attributes class fchmodat2(), introduced in version 6.6 is currently not in the change attribute class of audit. Calling fchmodat2() to change a file attribute in the same fashion than chmod() or fchmodat() will bypass audit rules such as: -w /tmp/test -p rwa -k test_rwa The current patch adds fchmodat2() to the change attributes class.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: l2tp: Fix memleak in l2tp_udp_encap_recv(). syzbot reported memleak of struct l2tp_session, l2tp_tunnel, sock, etc. [0] The cited commit moved down the validation of the protocol version in l2tp_udp_encap_recv(). The new place requires an extra error handling to avoid the memleak. Let's call l2tp_session_put() there. [0]: BUG: memory leak unreferenced object 0xffff88810a290200 (size 512): comm "syz.0.17", pid 6086, jiffies 4294944299 hex dump (first 32 bytes): 7d eb 04 0c 00 00 00 00 01 00 00 00 00 00 00 00 }............... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc babb6a4f): kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline] slab_post_alloc_hook mm/slub.c:4958 [inline] slab_alloc_node mm/slub.c:5263 [inline] __do_kmalloc_node mm/slub.c:5656 [inline] __kmalloc_noprof+0x3e0/0x660 mm/slub.c:5669 kmalloc_noprof include/linux/slab.h:961 [inline] kzalloc_noprof include/linux/slab.h:1094 [inline] l2tp_session_create+0x3a/0x3b0 net/l2tp/l2tp_core.c:1778 pppol2tp_connect+0x48b/0x920 net/l2tp/l2tp_ppp.c:755 __sys_connect_file+0x7a/0xb0 net/socket.c:2089 __sys_connect+0xde/0x110 net/socket.c:2108 __do_sys_connect net/socket.c:2114 [inline] __se_sys_connect net/socket.c:2111 [inline] __x64_sys_connect+0x1c/0x30 net/socket.c:2111 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xa4/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ipvlan: Make the addrs_lock be per port Make the addrs_lock be per port, not per ipvlan dev. Initial code seems to be written in the assumption, that any address change must occur under RTNL. But it is not so for the case of IPv6. So 1) Introduce per-port addrs_lock. 2) It was needed to fix places where it was forgotten to take lock (ipvlan_open/ipvlan_close) This appears to be a very minor problem though. Since it's highly unlikely that ipvlan_add_addr() will be called on 2 CPU simultaneously. But nevertheless, this could cause: 1) False-negative of ipvlan_addr_busy(): one interface iterated through all port->ipvlans + ipvlan->addrs under some ipvlan spinlock, and another added IP under its own lock. Though this is only possible for IPv6, since looks like only ipvlan_addr6_event() can be called without rtnl_lock. 2) Race since ipvlan_ht_addr_add(port) is called under different ipvlan->addrs_lock locks This should not affect performance, since add/remove IP is a rare situation and spinlock is not taken on fast paths.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: l2tp: avoid one data-race in l2tp_tunnel_del_work() We should read sk->sk_socket only when dealing with kernel sockets. syzbot reported the following data-race: BUG: KCSAN: data-race in l2tp_tunnel_del_work / sk_common_release write to 0xffff88811c182b20 of 8 bytes by task 5365 on cpu 0: sk_set_socket include/net/sock.h:2092 [inline] sock_orphan include/net/sock.h:2118 [inline] sk_common_release+0xae/0x230 net/core/sock.c:4003 udp_lib_close+0x15/0x20 include/net/udp.h:325 inet_release+0xce/0xf0 net/ipv4/af_inet.c:437 __sock_release net/socket.c:662 [inline] sock_close+0x6b/0x150 net/socket.c:1455 __fput+0x29b/0x650 fs/file_table.c:468 ____fput+0x1c/0x30 fs/file_table.c:496 task_work_run+0x131/0x1a0 kernel/task_work.c:233 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] __exit_to_user_mode_loop kernel/entry/common.c:44 [inline] exit_to_user_mode_loop+0x1fe/0x740 kernel/entry/common.c:75 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:159 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:194 [inline] do_syscall_64+0x1e1/0x2b0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffff88811c182b20 of 8 bytes by task 827 on cpu 1: l2tp_tunnel_del_work+0x2f/0x1a0 net/l2tp/l2tp_core.c:1418 process_one_work kernel/workqueue.c:3257 [inline] process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3340 worker_thread+0x582/0x770 kernel/workqueue.c:3421 kthread+0x489/0x510 kernel/kthread.c:463 ret_from_fork+0x149/0x290 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246 value changed: 0xffff88811b818000 -> 0x0000000000000000


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sctp: move SCTP_CMD_ASSOC_SHKEY right after SCTP_CMD_PEER_INIT A null-ptr-deref was reported in the SCTP transmit path when SCTP-AUTH key initialization fails: ================================================================== KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f] CPU: 0 PID: 16 Comm: ksoftirqd/0 Tainted: G W 6.6.0 #2 RIP: 0010:sctp_packet_bundle_auth net/sctp/output.c:264 [inline] RIP: 0010:sctp_packet_append_chunk+0xb36/0x1260 net/sctp/output.c:401 Call Trace: sctp_packet_transmit_chunk+0x31/0x250 net/sctp/output.c:189 sctp_outq_flush_data+0xa29/0x26d0 net/sctp/outqueue.c:1111 sctp_outq_flush+0xc80/0x1240 net/sctp/outqueue.c:1217 sctp_cmd_interpreter.isra.0+0x19a5/0x62c0 net/sctp/sm_sideeffect.c:1787 sctp_side_effects net/sctp/sm_sideeffect.c:1198 [inline] sctp_do_sm+0x1a3/0x670 net/sctp/sm_sideeffect.c:1169 sctp_assoc_bh_rcv+0x33e/0x640 net/sctp/associola.c:1052 sctp_inq_push+0x1dd/0x280 net/sctp/inqueue.c:88 sctp_rcv+0x11ae/0x3100 net/sctp/input.c:243 sctp6_rcv+0x3d/0x60 net/sctp/ipv6.c:1127 The issue is triggered when sctp_auth_asoc_init_active_key() fails in sctp_sf_do_5_1C_ack() while processing an INIT_ACK. In this case, the command sequence is currently: - SCTP_CMD_PEER_INIT - SCTP_CMD_TIMER_STOP (T1_INIT) - SCTP_CMD_TIMER_START (T1_COOKIE) - SCTP_CMD_NEW_STATE (COOKIE_ECHOED) - SCTP_CMD_ASSOC_SHKEY - SCTP_CMD_GEN_COOKIE_ECHO If SCTP_CMD_ASSOC_SHKEY fails, asoc->shkey remains NULL, while asoc->peer.auth_capable and asoc->peer.peer_chunks have already been set by SCTP_CMD_PEER_INIT. This allows a DATA chunk with auth = 1 and shkey = NULL to be queued by sctp_datamsg_from_user(). Since command interpretation stops on failure, no COOKIE_ECHO should been sent via SCTP_CMD_GEN_COOKIE_ECHO. However, the T1_COOKIE timer has already been started, and it may enqueue a COOKIE_ECHO into the outqueue later. As a result, the DATA chunk can be transmitted together with the COOKIE_ECHO in sctp_outq_flush_data(), leading to the observed issue. Similar to the other places where it calls sctp_auth_asoc_init_active_key() right after sctp_process_init(), this patch moves the SCTP_CMD_ASSOC_SHKEY immediately after SCTP_CMD_PEER_INIT, before stopping T1_INIT and starting T1_COOKIE. This ensures that if shared key generation fails, authenticated DATA cannot be sent. It also allows the T1_INIT timer to retransmit INIT, giving the client another chance to process INIT_ACK and retry key setup.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tracing: Add recursion protection in kernel stack trace recording A bug was reported about an infinite recursion caused by tracing the rcu events with the kernel stack trace trigger enabled. The stack trace code called back into RCU which then called the stack trace again. Expand the ftrace recursion protection to add a set of bits to protect events from recursion. Each bit represents the context that the event is in (normal, softirq, interrupt and NMI). Have the stack trace code use the interrupt context to protect against recursion. Note, the bug showed an issue in both the RCU code as well as the tracing stacktrace code. This only handles the tracing stack trace side of the bug. The RCU fix will be handled separately.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf, test_run: Subtract size of xdp_frame from allowed metadata size The xdp_frame structure takes up part of the XDP frame headroom, limiting the size of the metadata. However, in bpf_test_run, we don't take this into account, which makes it possible for userspace to supply a metadata size that is too large (taking up the entire headroom). If userspace supplies such a large metadata size in live packet mode, the xdp_update_frame_from_buff() call in xdp_test_run_init_page() call will fail, after which packet transmission proceeds with an uninitialised frame structure, leading to the usual Bad Stuff. The commit in the Fixes tag fixed a related bug where the second check in xdp_update_frame_from_buff() could fail, but did not add any additional constraints on the metadata size. Complete the fix by adding an additional check on the metadata size. Reorder the checks slightly to make the logic clearer and add a comment.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: pmdomain: imx8m-blk-ctrl: fix out-of-range access of bc->domains Fix out-of-range access of bc->domains in imx8m_blk_ctrl_remove().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: target: iscsi: Fix use-after-free in iscsit_dec_session_usage_count() In iscsit_dec_session_usage_count(), the function calls complete() while holding the sess->session_usage_lock. Similar to the connection usage count logic, the waiter signaled by complete() (e.g., in the session release path) may wake up and free the iscsit_session structure immediately. This creates a race condition where the current thread may attempt to execute spin_unlock_bh() on a session structure that has already been deallocated, resulting in a KASAN slab-use-after-free. To resolve this, release the session_usage_lock before calling complete() to ensure all dereferences of the sess pointer are finished before the waiter is allowed to proceed with deallocation.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ceph: fix oops due to invalid pointer for kfree() in parse_longname() This fixes a kernel oops when reading ceph snapshot directories (.snap), for example by simply running `ls /mnt/my_ceph/.snap`. The variable str is guarded by __free(kfree), but advanced by one for skipping the initial '_' in snapshot names. Thus, kfree() is called with an invalid pointer. This patch removes the need for advancing the pointer so kfree() is called with correct memory pointer. Steps to reproduce: 1. Create snapshots on a cephfs volume (I've 63 snaps in my testcase) 2. Add cephfs mount to fstab $ echo "samba-fileserver@.files=/volumes/datapool/stuff/3461082b-ecc9-4e82-8549-3fd2590d3fb6 /mnt/test/stuff ceph acl,noatime,_netdev 0 0" >> /etc/fstab 3. Reboot the system $ systemctl reboot 4. Check if it's really mounted $ mount | grep stuff 5. List snapshots (expected 63 snapshots on my system) $ ls /mnt/test/stuff/.snap Now ls hangs forever and the kernel log shows the oops.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: cls_u32: use skb_header_pointer_careful() skb_header_pointer() does not fully validate negative @offset values. Use skb_header_pointer_careful() instead. GangMin Kim provided a report and a repro fooling u32_classify(): BUG: KASAN: slab-out-of-bounds in u32_classify+0x1180/0x11b0 net/sched/cls_u32.c:221


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: x86/vmware: Fix hypercall clobbers Fedora QA reported the following panic: BUG: unable to handle page fault for address: 0000000040003e54 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS edk2-20251119-3.fc43 11/19/2025 RIP: 0010:vmware_hypercall4.constprop.0+0x52/0x90 .. Call Trace: vmmouse_report_events+0x13e/0x1b0 psmouse_handle_byte+0x15/0x60 ps2_interrupt+0x8a/0xd0 ... because the QEMU VMware mouse emulation is buggy, and clears the top 32 bits of %rdi that the kernel kept a pointer in. The QEMU vmmouse driver saves and restores the register state in a "uint32_t data[6];" and as a result restores the state with the high bits all cleared. RDI originally contained the value of a valid kernel stack address (0xff5eeb3240003e54). After the vmware hypercall it now contains 0x40003e54, and we get a page fault as a result when it is dereferenced. The proper fix would be in QEMU, but this works around the issue in the kernel to keep old setups working, when old kernels had not happened to keep any state in %rdi over the hypercall. In theory this same issue exists for all the hypercalls in the vmmouse driver; in practice it has only been seen with vmware_hypercall3() and vmware_hypercall4(). For now, just mark RDI/RSI as clobbered for those two calls. This should have a minimal effect on code generation overall as it should be rare for the compiler to want to make RDI/RSI live across hypercalls.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: target: iscsi: Fix use-after-free in iscsit_dec_conn_usage_count() In iscsit_dec_conn_usage_count(), the function calls complete() while holding the conn->conn_usage_lock. As soon as complete() is invoked, the waiter (such as iscsit_close_connection()) may wake up and proceed to free the iscsit_conn structure. If the waiter frees the memory before the current thread reaches spin_unlock_bh(), it results in a KASAN slab-use-after-free as the function attempts to release a lock within the already-freed connection structure. Fix this by releasing the spinlock before calling complete().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: fix use-after-free in nf_tables_addchain() nf_tables_addchain() publishes the chain to table->chains via list_add_tail_rcu() (in nft_chain_add()) before registering hooks. If nf_tables_register_hook() then fails, the error path calls nft_chain_del() (list_del_rcu()) followed by nf_tables_chain_destroy() with no RCU grace period in between. This creates two use-after-free conditions: 1) Control-plane: nf_tables_dump_chains() traverses table->chains under rcu_read_lock(). A concurrent dump can still be walking the chain when the error path frees it. 2) Packet path: for NFPROTO_INET, nf_register_net_hook() briefly installs the IPv4 hook before IPv6 registration fails. Packets entering nft_do_chain() via the transient IPv4 hook can still be dereferencing chain->blob_gen_X when the error path frees the chain. Add synchronize_rcu() between nft_chain_del() and the chain destroy so that all RCU readers -- both dump threads and in-flight packet evaluation -- have finished before the chain is freed.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: espintcp: Fix race condition in espintcp_close() This issue was discovered during a code audit. After cancel_work_sync() is called from espintcp_close(), espintcp_tx_work() can still be scheduled from paths such as the Delayed ACK handler or ksoftirqd. As a result, the espintcp_tx_work() worker may dereference a freed espintcp ctx or sk. The following is a simple race scenario: cpu0 cpu1 espintcp_close() cancel_work_sync(&ctx->work); espintcp_write_space() schedule_work(&ctx->work); To prevent this race condition, cancel_work_sync() is replaced with disable_work_sync().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tls: Fix race condition in tls_sw_cancel_work_tx() This issue was discovered during a code audit. After cancel_delayed_work_sync() is called from tls_sk_proto_close(), tx_work_handler() can still be scheduled from paths such as the Delayed ACK handler or ksoftirqd. As a result, the tx_work_handler() worker may dereference a freed TLS object. The following is a simple race scenario: cpu0 cpu1 tls_sk_proto_close() tls_sw_cancel_work_tx() tls_write_space() tls_sw_write_space() if (!test_and_set_bit(BIT_TX_SCHEDULED, &tx_ctx->tx_bitmask)) set_bit(BIT_TX_SCHEDULED, &ctx->tx_bitmask); cancel_delayed_work_sync(&ctx->tx_work.work); schedule_delayed_work(&tx_ctx->tx_work.work, 0); To prevent this race condition, cancel_delayed_work_sync() is replaced with disable_delayed_work_sync().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/siw: Fix potential NULL pointer dereference in header processing If siw_get_hdr() returns -EINVAL before set_rx_fpdu_context(), qp->rx_fpdu can be NULL. The error path in siw_tcp_rx_data() dereferences qp->rx_fpdu->more_ddp_segs without checking, which may lead to a NULL pointer deref. Only check more_ddp_segs when rx_fpdu is present. KASAN splat: [ 101.384271] KASAN: null-ptr-deref in range [0x00000000000000c0-0x00000000000000c7] [ 101.385869] RIP: 0010:siw_tcp_rx_data+0x13ad/0x1e50


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/umad: Reject negative data_len in ib_umad_write ib_umad_write computes data_len from user-controlled count and the MAD header sizes. With a mismatched user MAD header size and RMPP header length, data_len can become negative and reach ib_create_send_mad(). This can make the padding calculation exceed the segment size and trigger an out-of-bounds memset in alloc_send_rmpp_list(). Add an explicit check to reject negative data_len before creating the send buffer. KASAN splat: [ 211.363464] BUG: KASAN: slab-out-of-bounds in ib_create_send_mad+0xa01/0x11b0 [ 211.364077] Write of size 220 at addr ffff88800c3fa1f8 by task spray_thread/102 [ 211.365867] ib_create_send_mad+0xa01/0x11b0 [ 211.365887] ib_umad_write+0x853/0x1c80


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: add proper RCU protection to /proc/net/ptype Yin Fengwei reported an RCU stall in ptype_seq_show() and provided a patch. Real issue is that ptype_seq_next() and ptype_seq_show() violate RCU rules. ptype_seq_show() runs under rcu_read_lock(), and reads pt->dev to get device name without any barrier. At the same time, concurrent writers can remove a packet_type structure (which is correctly freed after an RCU grace period) and clear pt->dev without an RCU grace period. Define ptype_iter_state to carry a dev pointer along seq_net_private: struct ptype_iter_state { struct seq_net_private p; struct net_device *dev; // added in this patch }; We need to record the device pointer in ptype_get_idx() and ptype_seq_next() so that ptype_seq_show() is safe against concurrent pt->dev changes. We also need to add full RCU protection in ptype_seq_next(). (Missing READ_ONCE() when reading list.next values) Many thanks to Dong Chenchen for providing a repro.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gve: Fix stats report corruption on queue count change The driver and the NIC share a region in memory for stats reporting. The NIC calculates its offset into this region based on the total size of the stats region and the size of the NIC's stats. When the number of queues is changed, the driver's stats region is resized. If the queue count is increased, the NIC can write past the end of the allocated stats region, causing memory corruption. If the queue count is decreased, there is a gap between the driver and NIC stats, leading to incorrect stats reporting. This change fixes the issue by allocating stats region with maximum size, and the offset calculation for NIC stats is changed to match with the calculation of the NIC.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: Only allow act_ct to bind to clsact/ingress qdiscs and shared blocks As Paolo said earlier [1]: "Since the blamed commit below, classify can return TC_ACT_CONSUMED while the current skb being held by the defragmentation engine. As reported by GangMin Kim, if such packet is that may cause a UaF when the defrag engine later on tries to tuch again such packet." act_ct was never meant to be used in the egress path, however some users are attaching it to egress today [2]. Attempting to reach a middle ground, we noticed that, while most qdiscs are not handling TC_ACT_CONSUMED, clsact/ingress qdiscs are. With that in mind, we address the issue by only allowing act_ct to bind to clsact/ingress qdiscs and shared blocks. That way it's still possible to attach act_ct to egress (albeit only with clsact). [1] https://lore.kernel.org/netdev/674b8cbfc385c6f37fb29a1de08d8fe5c2b0fbee.1771321118.git.pabeni@redhat.com/ [2] https://lore.kernel.org/netdev/cc6bfb4a-4a2b-42d8-b9ce-7ef6644fb22b@ovn.org/


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: unconditionally bump set->nelems before insertion In case that the set is full, a new element gets published then removed without waiting for the RCU grace period, while RCU reader can be walking over it already. To address this issue, add the element transaction even if set is full, but toggle the set_full flag to report -ENFILE so the abort path safely unwinds the set to its previous state. As for element updates, decrement set->nelems to restore it. A simpler fix is to call synchronize_rcu() in the error path. However, with a large batch adding elements to already maxed-out set, this could cause noticeable slowdown of such batches.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: xt_IDLETIMER: reject rev0 reuse of ALARM timer labels IDLETIMER revision 0 rules reuse existing timers by label and always call mod_timer() on timer->timer. If the label was created first by revision 1 with XT_IDLETIMER_ALARM, the object uses alarm timer semantics and timer->timer is never initialized. Reusing that object from revision 0 causes mod_timer() on an uninitialized timer_list, triggering debugobjects warnings and possible panic when panic_on_warn=1. Fix this by rejecting revision 0 rule insertion when an existing timer with the same label is of ALARM type.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: teql: fix NULL pointer dereference in iptunnel_xmit on TEQL slave xmit teql_master_xmit() calls netdev_start_xmit(skb, slave) to transmit through slave devices, but does not update skb->dev to the slave device beforehand. When a gretap tunnel is a TEQL slave, the transmit path reaches iptunnel_xmit() which saves dev = skb->dev (still pointing to teql0 master) and later calls iptunnel_xmit_stats(dev, pkt_len). This function does: get_cpu_ptr(dev->tstats) Since teql_master_setup() does not set dev->pcpu_stat_type to NETDEV_PCPU_STAT_TSTATS, the core network stack never allocates tstats for teql0, so dev->tstats is NULL. get_cpu_ptr(NULL) computes NULL + __per_cpu_offset[cpu], resulting in a page fault. BUG: unable to handle page fault for address: ffff8880e6659018 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 68bc067 P4D 68bc067 PUD 0 Oops: Oops: 0002 [#1] SMP KASAN PTI RIP: 0010:iptunnel_xmit (./include/net/ip_tunnels.h:664 net/ipv4/ip_tunnel_core.c:89) Call Trace: <TASK> ip_tunnel_xmit (net/ipv4/ip_tunnel.c:847) __gre_xmit (net/ipv4/ip_gre.c:478) gre_tap_xmit (net/ipv4/ip_gre.c:779) teql_master_xmit (net/sched/sch_teql.c:319) dev_hard_start_xmit (net/core/dev.c:3887) sch_direct_xmit (net/sched/sch_generic.c:347) __dev_queue_xmit (net/core/dev.c:4802) neigh_direct_output (net/core/neighbour.c:1660) ip_finish_output2 (net/ipv4/ip_output.c:237) __ip_finish_output.part.0 (net/ipv4/ip_output.c:315) ip_mc_output (net/ipv4/ip_output.c:369) ip_send_skb (net/ipv4/ip_output.c:1508) udp_send_skb (net/ipv4/udp.c:1195) udp_sendmsg (net/ipv4/udp.c:1485) inet_sendmsg (net/ipv4/af_inet.c:859) __sys_sendto (net/socket.c:2206) Fix this by setting skb->dev = slave before calling netdev_start_xmit(), so that tunnel xmit functions see the correct slave device with properly allocated tstats.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: always walk all pending catchall elements During transaction processing we might have more than one catchall element: 1 live catchall element and 1 pending element that is coming as part of the new batch. If the map holding the catchall elements is also going away, its required to toggle all catchall elements and not just the first viable candidate. Otherwise, we get: WARNING: ./include/net/netfilter/nf_tables.h:1281 at nft_data_release+0xb7/0xe0 [nf_tables], CPU#2: nft/1404 RIP: 0010:nft_data_release+0xb7/0xe0 [nf_tables] [..] __nft_set_elem_destroy+0x106/0x380 [nf_tables] nf_tables_abort_release+0x348/0x8d0 [nf_tables] nf_tables_abort+0xcf2/0x3ac0 [nf_tables] nfnetlink_rcv_batch+0x9c9/0x20e0 [..]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: libertas: fix use-after-free in lbs_free_adapter() The lbs_free_adapter() function uses timer_delete() (non-synchronous) for both command_timer and tx_lockup_timer before the structure is freed. This is incorrect because timer_delete() does not wait for any running timer callback to complete. If a timer callback is executing when lbs_free_adapter() is called, the callback will access freed memory since lbs_cfg_free() frees the containing structure immediately after lbs_free_adapter() returns. Both timer callbacks (lbs_cmd_timeout_handler and lbs_tx_lockup_handler) access priv->driver_lock, priv->cur_cmd, priv->dev, and other fields, which would all be use-after-free violations. Use timer_delete_sync() instead to ensure any running timer callback has completed before returning. This bug was introduced in commit 8f641d93c38a ("libertas: detect TX lockups and reset hardware") where del_timer() was used instead of del_timer_sync() in the cleanup path. The command_timer has had the same issue since the driver was first written.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: target: Fix recursive locking in __configfs_open_file() In flush_write_buffer, &p->frag_sem is acquired and then the loaded store function is called, which, here, is target_core_item_dbroot_store(). This function called filp_open(), following which these functions were called (in reverse order), according to the call trace: down_read __configfs_open_file do_dentry_open vfs_open do_open path_openat do_filp_open file_open_name filp_open target_core_item_dbroot_store flush_write_buffer configfs_write_iter target_core_item_dbroot_store() tries to validate the new file path by trying to open the file path provided to it; however, in this case, the bug report shows: db_root: not a directory: /sys/kernel/config/target/dbroot indicating that the same configfs file was tried to be opened, on which it is currently working on. Thus, it is trying to acquire frag_sem semaphore of the same file of which it already holds the semaphore obtained in flush_write_buffer(), leading to acquiring the semaphore in a nested manner and a possibility of recursive locking. Fix this by modifying target_core_item_dbroot_store() to use kern_path() instead of filp_open() to avoid opening the file using filesystem-specific function __configfs_open_file(), and further modifying it to make this fix compatible.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: vxlan: fix nd_tbl NULL dereference when IPv6 is disabled When booting with the 'ipv6.disable=1' parameter, the nd_tbl is never initialized because inet6_init() exits before ndisc_init() is called which initializes it. If an IPv6 packet is injected into the interface, route_shortcircuit() is called and a NULL pointer dereference happens on neigh_lookup(). BUG: kernel NULL pointer dereference, address: 0000000000000380 Oops: Oops: 0000 [#1] SMP NOPTI [...] RIP: 0010:neigh_lookup+0x20/0x270 [...] Call Trace: <TASK> vxlan_xmit+0x638/0x1ef0 [vxlan] dev_hard_start_xmit+0x9e/0x2e0 __dev_queue_xmit+0xbee/0x14e0 packet_sendmsg+0x116f/0x1930 __sys_sendto+0x1f5/0x200 __x64_sys_sendto+0x24/0x30 do_syscall_64+0x12f/0x1590 entry_SYSCALL_64_after_hwframe+0x76/0x7e Fix this by adding an early check on route_shortcircuit() when protocol is ETH_P_IPV6. Note that ipv6_mod_enabled() cannot be used here because VXLAN can be built-in even when IPv6 is built as a module.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfsd: Fix cred ref leak in nfsd_nl_threads_set_doit(). syzbot reported memory leak of struct cred. [0] nfsd_nl_threads_set_doit() passes get_current_cred() to nfsd_svc(), but put_cred() is not called after that. The cred is finally passed down to _svc_xprt_create(), which calls get_cred() with the cred for struct svc_xprt. The ownership of the refcount by get_current_cred() is not transferred to anywhere and is just leaked. nfsd_svc() is also called from write_threads(), but it does not bump file->f_cred there. nfsd_nl_threads_set_doit() is called from sendmsg() and current->cred does not go away. Let's use current_cred() in nfsd_nl_threads_set_doit(). [0]: BUG: memory leak unreferenced object 0xffff888108b89480 (size 184): comm "syz-executor", pid 5994, jiffies 4294943386 hex dump (first 32 bytes): 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc 369454a7): kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline] slab_post_alloc_hook mm/slub.c:4958 [inline] slab_alloc_node mm/slub.c:5263 [inline] kmem_cache_alloc_noprof+0x412/0x580 mm/slub.c:5270 prepare_creds+0x22/0x600 kernel/cred.c:185 copy_creds+0x44/0x290 kernel/cred.c:286 copy_process+0x7a7/0x2870 kernel/fork.c:2086 kernel_clone+0xac/0x6e0 kernel/fork.c:2651 __do_sys_clone+0x7f/0xb0 kernel/fork.c:2792 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xa4/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ipv6: fix NULL pointer deref in ip6_rt_get_dev_rcu() l3mdev_master_dev_rcu() can return NULL when the slave device is being un-slaved from a VRF. All other callers deal with this, but we lost the fallback to loopback in ip6_rt_pcpu_alloc() -> ip6_rt_get_dev_rcu() with commit 4832c30d5458 ("net: ipv6: put host and anycast routes on device with address"). KASAN: null-ptr-deref in range [0x0000000000000108-0x000000000000010f] RIP: 0010:ip6_rt_pcpu_alloc (net/ipv6/route.c:1418) Call Trace: ip6_pol_route (net/ipv6/route.c:2318) fib6_rule_lookup (net/ipv6/fib6_rules.c:115) ip6_route_output_flags (net/ipv6/route.c:2607) vrf_process_v6_outbound (drivers/net/vrf.c:437) I was tempted to rework the un-slaving code to clear the flag first and insert synchronize_rcu() before we remove the upper. But looks like the explicit fallback to loopback_dev is an established pattern. And I guess avoiding the synchronize_rcu() is nice, too.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix a UAF issue in bpf_trampoline_link_cgroup_shim The root cause of this bug is that when 'bpf_link_put' reduces the refcount of 'shim_link->link.link' to zero, the resource is considered released but may still be referenced via 'tr->progs_hlist' in 'cgroup_shim_find'. The actual cleanup of 'tr->progs_hlist' in 'bpf_shim_tramp_link_release' is deferred. During this window, another process can cause a use-after-free via 'bpf_trampoline_link_cgroup_shim'. Based on Martin KaFai Lau's suggestions, I have created a simple patch. To fix this: Add an atomic non-zero check in 'bpf_trampoline_link_cgroup_shim'. Only increment the refcount if it is not already zero. Testing: I verified the fix by adding a delay in 'bpf_shim_tramp_link_release' to make the bug easier to trigger: static void bpf_shim_tramp_link_release(struct bpf_link *link) { /* ... */ if (!shim_link->trampoline) return; + msleep(100); WARN_ON_ONCE(bpf_trampoline_unlink_prog(&shim_link->link, shim_link->trampoline, NULL)); bpf_trampoline_put(shim_link->trampoline); } Before the patch, running a PoC easily reproduced the crash(almost 100%) with a call trace similar to KaiyanM's report. After the patch, the bug no longer occurs even after millions of iterations.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xsk: Fix fragment node deletion to prevent buffer leak After commit b692bf9a7543 ("xsk: Get rid of xdp_buff_xsk::xskb_list_node"), the list_node field is reused for both the xskb pool list and the buffer free list, this causes a buffer leak as described below. xp_free() checks if a buffer is already on the free list using list_empty(&xskb->list_node). When list_del() is used to remove a node from the xskb pool list, it doesn't reinitialize the node pointers. This means list_empty() will return false even after the node has been removed, causing xp_free() to incorrectly skip adding the buffer to the free list. Fix this by using list_del_init() instead of list_del() in all fragment handling paths, this ensures the list node is reinitialized after removal, allowing the list_empty() to work correctly.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/irdma: Fix kernel stack leak in irdma_create_user_ah() struct irdma_create_ah_resp { // 8 bytes, no padding __u32 ah_id; // offset 0 - SET (uresp.ah_id = ah->sc_ah.ah_info.ah_idx) __u8 rsvd[4]; // offset 4 - NEVER SET <- LEAK }; rsvd[4]: 4 bytes of stack memory leaked unconditionally. Only ah_id is assigned before ib_respond_udata(). The reserved members of the structure were not zeroed.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xdp: produce a warning when calculated tailroom is negative Many ethernet drivers report xdp Rx queue frag size as being the same as DMA write size. However, the only user of this field, namely bpf_xdp_frags_increase_tail(), clearly expects a truesize. Such difference leads to unspecific memory corruption issues under certain circumstances, e.g. in ixgbevf maximum DMA write size is 3 KB, so when running xskxceiver's XDP_ADJUST_TAIL_GROW_MULTI_BUFF, 6K packet fully uses all DMA-writable space in 2 buffers. This would be fine, if only rxq->frag_size was properly set to 4K, but value of 3K results in a negative tailroom, because there is a non-zero page offset. We are supposed to return -EINVAL and be done with it in such case, but due to tailroom being stored as an unsigned int, it is reported to be somewhere near UINT_MAX, resulting in a tail being grown, even if the requested offset is too much (it is around 2K in the abovementioned test). This later leads to all kinds of unspecific calltraces. [ 7340.337579] xskxceiver[1440]: segfault at 1da718 ip 00007f4161aeac9d sp 00007f41615a6a00 error 6 [ 7340.338040] xskxceiver[1441]: segfault at 7f410000000b ip 00000000004042b5 sp 00007f415bffecf0 error 4 [ 7340.338179] in libc.so.6[61c9d,7f4161aaf000+160000] [ 7340.339230] in xskxceiver[42b5,400000+69000] [ 7340.340300] likely on CPU 6 (core 0, socket 6) [ 7340.340302] Code: ff ff 01 e9 f4 fe ff ff 0f 1f 44 00 00 4c 39 f0 74 73 31 c0 ba 01 00 00 00 f0 0f b1 17 0f 85 ba 00 00 00 49 8b 87 88 00 00 00 <4c> 89 70 08 eb cc 0f 1f 44 00 00 48 8d bd f0 fe ff ff 89 85 ec fe [ 7340.340888] likely on CPU 3 (core 0, socket 3) [ 7340.345088] Code: 00 00 00 ba 00 00 00 00 be 00 00 00 00 89 c7 e8 31 ca ff ff 89 45 ec 8b 45 ec 85 c0 78 07 b8 00 00 00 00 eb 46 e8 0b c8 ff ff <8b> 00 83 f8 69 74 24 e8 ff c7 ff ff 8b 00 83 f8 0b 74 18 e8 f3 c7 [ 7340.404334] Oops: general protection fault, probably for non-canonical address 0x6d255010bdffc: 0000 [#1] SMP NOPTI [ 7340.405972] CPU: 7 UID: 0 PID: 1439 Comm: xskxceiver Not tainted 6.19.0-rc1+ #21 PREEMPT(lazy) [ 7340.408006] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.17.0-5.fc42 04/01/2014 [ 7340.409716] RIP: 0010:lookup_swap_cgroup_id+0x44/0x80 [ 7340.410455] Code: 83 f8 1c 73 39 48 ba ff ff ff ff ff ff ff 03 48 8b 04 c5 20 55 fa bd 48 21 d1 48 89 ca 83 e1 01 48 d1 ea c1 e1 04 48 8d 04 90 <8b> 00 48 83 c4 10 d3 e8 c3 cc cc cc cc 31 c0 e9 98 b7 dd 00 48 89 [ 7340.412787] RSP: 0018:ffffcc5c04f7f6d0 EFLAGS: 00010202 [ 7340.413494] RAX: 0006d255010bdffc RBX: ffff891f477895a8 RCX: 0000000000000010 [ 7340.414431] RDX: 0001c17e3fffffff RSI: 00fa070000000000 RDI: 000382fc7fffffff [ 7340.415354] RBP: 00fa070000000000 R08: ffffcc5c04f7f8f8 R09: ffffcc5c04f7f7d0 [ 7340.416283] R10: ffff891f4c1a7000 R11: ffffcc5c04f7f9c8 R12: ffffcc5c04f7f7d0 [ 7340.417218] R13: 03ffffffffffffff R14: 00fa06fffffffe00 R15: ffff891f47789500 [ 7340.418229] FS: 0000000000000000(0000) GS:ffff891ffdfaa000(0000) knlGS:0000000000000000 [ 7340.419489] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 7340.420286] CR2: 00007f415bfffd58 CR3: 0000000103f03002 CR4: 0000000000772ef0 [ 7340.421237] PKRU: 55555554 [ 7340.421623] Call Trace: [ 7340.421987] <TASK> [ 7340.422309] ? softleaf_from_pte+0x77/0xa0 [ 7340.422855] swap_pte_batch+0xa7/0x290 [ 7340.423363] zap_nonpresent_ptes.constprop.0.isra.0+0xd1/0x270 [ 7340.424102] zap_pte_range+0x281/0x580 [ 7340.424607] zap_pmd_range.isra.0+0xc9/0x240 [ 7340.425177] unmap_page_range+0x24d/0x420 [ 7340.425714] unmap_vmas+0xa1/0x180 [ 7340.426185] exit_mmap+0xe1/0x3b0 [ 7340.426644] __mmput+0x41/0x150 [ 7340.427098] exit_mm+0xb1/0x110 [ 7340.427539] do_exit+0x1b2/0x460 [ 7340.427992] do_group_exit+0x2d/0xc0 [ 7340.428477] get_signal+0x79d/0x7e0 [ 7340.428957] arch_do_signal_or_restart+0x34/0x100 [ 7340.429571] exit_to_user_mode_loop+0x8e/0x4c0 [ 7340.430159] do_syscall_64+0x188/ ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: PCI: dwc: ep: Flush MSI-X write before unmapping its ATU entry Endpoint drivers use dw_pcie_ep_raise_msix_irq() to raise an MSI-X interrupt to the host using a writel(), which generates a PCI posted write transaction. There's no completion for posted writes, so the writel() may return before the PCI write completes. dw_pcie_ep_raise_msix_irq() also unmaps the outbound ATU entry used for the PCI write, so the write races with the unmap. If the PCI write loses the race with the ATU unmap, the write may corrupt host memory or cause IOMMU errors, e.g., these when running fio with a larger queue depth against nvmet-pci-epf: arm-smmu-v3 fc900000.iommu: 0x0000010000000010 arm-smmu-v3 fc900000.iommu: 0x0000020000000000 arm-smmu-v3 fc900000.iommu: 0x000000090000f040 arm-smmu-v3 fc900000.iommu: 0x0000000000000000 arm-smmu-v3 fc900000.iommu: event: F_TRANSLATION client: 0000:01:00.0 sid: 0x100 ssid: 0x0 iova: 0x90000f040 ipa: 0x0 arm-smmu-v3 fc900000.iommu: unpriv data write s1 "Input address caused fault" stag: 0x0 Flush the write by performing a readl() of the same address to ensure that the write has reached the destination before the ATU entry is unmapped. The same problem was solved for dw_pcie_ep_raise_msi_irq() in commit 8719c64e76bf ("PCI: dwc: ep: Cache MSI outbound iATU mapping"), but there it was solved by dedicating an outbound iATU only for MSI. We can't do the same for MSI-X because each vector can have a different msg_addr and the msg_addr may be changed while the vector is masked. [bhelgaas: commit log]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: ets: fix divide by zero in the offload path Offloading ETS requires computing each class' WRR weight: this is done by averaging over the sums of quanta as 'q_sum' and 'q_psum'. Using unsigned int, the same integer size as the individual DRR quanta, can overflow and even cause division by zero, like it happened in the following splat: Oops: divide error: 0000 [#1] SMP PTI CPU: 13 UID: 0 PID: 487 Comm: tc Tainted: G E 6.19.0-virtme #45 PREEMPT(full) Tainted: [E]=UNSIGNED_MODULE Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 RIP: 0010:ets_offload_change+0x11f/0x290 [sch_ets] Code: e4 45 31 ff eb 03 41 89 c7 41 89 cb 89 ce 83 f9 0f 0f 87 b7 00 00 00 45 8b 08 31 c0 45 01 cc 45 85 c9 74 09 41 6b c4 64 31 d2 <41> f7 f2 89 c2 44 29 fa 45 89 df 41 83 fb 0f 0f 87 c7 00 00 00 44 RSP: 0018:ffffd0a180d77588 EFLAGS: 00010246 RAX: 00000000ffffff38 RBX: ffff8d3d482ca000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffd0a180d77660 RBP: ffffd0a180d77690 R08: ffff8d3d482ca2d8 R09: 00000000fffffffe R10: 0000000000000000 R11: 0000000000000000 R12: 00000000fffffffe R13: ffff8d3d472f2000 R14: 0000000000000003 R15: 0000000000000000 FS: 00007f440b6c2740(0000) GS:ffff8d3dc9803000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000003cdd2000 CR3: 0000000007b58002 CR4: 0000000000172ef0 Call Trace: <TASK> ets_qdisc_change+0x870/0xf40 [sch_ets] qdisc_create+0x12b/0x540 tc_modify_qdisc+0x6d7/0xbd0 rtnetlink_rcv_msg+0x168/0x6b0 netlink_rcv_skb+0x5c/0x110 netlink_unicast+0x1d6/0x2b0 netlink_sendmsg+0x22e/0x470 ____sys_sendmsg+0x38a/0x3c0 ___sys_sendmsg+0x99/0xe0 __sys_sendmsg+0x8a/0xf0 do_syscall_64+0x111/0xf80 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f440b81c77e Code: 4d 89 d8 e8 d4 bc 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 13 ff ff ff 0f 1f 00 f3 0f 1e fa RSP: 002b:00007fff951e4c10 EFLAGS: 00000202 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 0000000000481820 RCX: 00007f440b81c77e RDX: 0000000000000000 RSI: 00007fff951e4cd0 RDI: 0000000000000003 RBP: 00007fff951e4c20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000202 R12: 00007fff951f4fa8 R13: 00000000699ddede R14: 00007f440bb01000 R15: 0000000000486980 </TASK> Modules linked in: sch_ets(E) netdevsim(E) ---[ end trace 0000000000000000 ]--- RIP: 0010:ets_offload_change+0x11f/0x290 [sch_ets] Code: e4 45 31 ff eb 03 41 89 c7 41 89 cb 89 ce 83 f9 0f 0f 87 b7 00 00 00 45 8b 08 31 c0 45 01 cc 45 85 c9 74 09 41 6b c4 64 31 d2 <41> f7 f2 89 c2 44 29 fa 45 89 df 41 83 fb 0f 0f 87 c7 00 00 00 44 RSP: 0018:ffffd0a180d77588 EFLAGS: 00010246 RAX: 00000000ffffff38 RBX: ffff8d3d482ca000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffd0a180d77660 RBP: ffffd0a180d77690 R08: ffff8d3d482ca2d8 R09: 00000000fffffffe R10: 0000000000000000 R11: 0000000000000000 R12: 00000000fffffffe R13: ffff8d3d472f2000 R14: 0000000000000003 R15: 0000000000000000 FS: 00007f440b6c2740(0000) GS:ffff8d3dc9803000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000003cdd2000 CR3: 0000000007b58002 CR4: 0000000000172ef0 Kernel panic - not syncing: Fatal exception Kernel Offset: 0x30000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) ---[ end Kernel panic - not syncing: Fatal exception ]--- Fix this using 64-bit integers for 'q_sum' and 'q_psum'.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: bridge: fix nd_tbl NULL dereference when IPv6 is disabled When booting with the 'ipv6.disable=1' parameter, the nd_tbl is never initialized because inet6_init() exits before ndisc_init() is called which initializes it. Then, if neigh_suppress is enabled and an ICMPv6 Neighbor Discovery packet reaches the bridge, br_do_suppress_nd() will dereference ipv6_stub->nd_tbl which is NULL, passing it to neigh_lookup(). This causes a kernel NULL pointer dereference. BUG: kernel NULL pointer dereference, address: 0000000000000268 Oops: 0000 [#1] PREEMPT SMP NOPTI [...] RIP: 0010:neigh_lookup+0x16/0xe0 [...] Call Trace: <IRQ> ? neigh_lookup+0x16/0xe0 br_do_suppress_nd+0x160/0x290 [bridge] br_handle_frame_finish+0x500/0x620 [bridge] br_handle_frame+0x353/0x440 [bridge] __netif_receive_skb_core.constprop.0+0x298/0x1110 __netif_receive_skb_one_core+0x3d/0xa0 process_backlog+0xa0/0x140 __napi_poll+0x2c/0x170 net_rx_action+0x2c4/0x3a0 handle_softirqs+0xd0/0x270 do_softirq+0x3f/0x60 Fix this by replacing IS_ENABLED(IPV6) call with ipv6_mod_enabled() in the callers. This is in essence disabling NS/NA suppression when IPv6 is disabled.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf, arm64: Force 8-byte alignment for JIT buffer to prevent atomic tearing struct bpf_plt contains a u64 target field. Currently, the BPF JIT allocator requests an alignment of 4 bytes (sizeof(u32)) for the JIT buffer. Because the base address of the JIT buffer can be 4-byte aligned (e.g., ending in 0x4 or 0xc), the relative padding logic in build_plt() fails to ensure that target lands on an 8-byte boundary. This leads to two issues: 1. UBSAN reports misaligned-access warnings when dereferencing the structure. 2. More critically, target is updated concurrently via WRITE_ONCE() in bpf_arch_text_poke() while the JIT'd code executes ldr. On arm64, 64-bit loads/stores are only guaranteed to be single-copy atomic if they are 64-bit aligned. A misaligned target risks a torn read, causing the JIT to jump to a corrupted address. Fix this by increasing the allocation alignment requirement to 8 bytes (sizeof(u64)) in bpf_jit_binary_pack_alloc(). This anchors the base of the JIT buffer to an 8-byte boundary, allowing the relative padding math in build_plt() to correctly align the target field.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gve: fix incorrect buffer cleanup in gve_tx_clean_pending_packets for QPL In DQ-QPL mode, gve_tx_clean_pending_packets() incorrectly uses the RDA buffer cleanup path. It iterates num_bufs times and attempts to unmap entries in the dma array. This leads to two issues: 1. The dma array shares storage with tx_qpl_buf_ids (union). Interpreting buffer IDs as DMA addresses results in attempting to unmap incorrect memory locations. 2. num_bufs in QPL mode (counting 2K chunks) can significantly exceed the size of the dma array, causing out-of-bounds access warnings (trace below is how we noticed this issue). UBSAN: array-index-out-of-bounds in drivers/net/ethernet/drivers/net/ethernet/google/gve/gve_tx_dqo.c:178:5 index 18 is out of range for type 'dma_addr_t[18]' (aka 'unsigned long long[18]') Workqueue: gve gve_service_task [gve] Call Trace: <TASK> dump_stack_lvl+0x33/0xa0 __ubsan_handle_out_of_bounds+0xdc/0x110 gve_tx_stop_ring_dqo+0x182/0x200 [gve] gve_close+0x1be/0x450 [gve] gve_reset+0x99/0x120 [gve] gve_service_task+0x61/0x100 [gve] process_scheduled_works+0x1e9/0x380 Fix this by properly checking for QPL mode and delegating to gve_free_tx_qpl_bufs() to reclaim the buffers.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bridge: cfm: Fix race condition in peer_mep deletion When a peer MEP is being deleted, cancel_delayed_work_sync() is called on ccm_rx_dwork before freeing. However, br_cfm_frame_rx() runs in softirq context under rcu_read_lock (without RTNL) and can re-schedule ccm_rx_dwork via ccm_rx_timer_start() between cancel_delayed_work_sync() returning and kfree_rcu() being called. The following is a simple race scenario: cpu0 cpu1 mep_delete_implementation() cancel_delayed_work_sync(ccm_rx_dwork); br_cfm_frame_rx() // peer_mep still in hlist if (peer_mep->ccm_defect) ccm_rx_timer_start() queue_delayed_work(ccm_rx_dwork) hlist_del_rcu(&peer_mep->head); kfree_rcu(peer_mep, rcu); ccm_rx_work_expired() // on freed peer_mep To prevent this, cancel_delayed_work_sync() is replaced with disable_delayed_work_sync() in both peer MEP deletion paths, so that subsequent queue_delayed_work() calls from br_cfm_frame_rx() are silently rejected. The cc_peer_disable() helper retains cancel_delayed_work_sync() because it is also used for the CC enable/disable toggle path where the work must remain re-schedulable.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: icmp: fix NULL pointer dereference in icmp_tag_validation() icmp_tag_validation() unconditionally dereferences the result of rcu_dereference(inet_protos[proto]) without checking for NULL. The inet_protos[] array is sparse -- only about 15 of 256 protocol numbers have registered handlers. When ip_no_pmtu_disc is set to 3 (hardened PMTU mode) and the kernel receives an ICMP Fragmentation Needed error with a quoted inner IP header containing an unregistered protocol number, the NULL dereference causes a kernel panic in softirq context. Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017] RIP: 0010:icmp_unreach (net/ipv4/icmp.c:1085 net/ipv4/icmp.c:1143) Call Trace: <IRQ> icmp_rcv (net/ipv4/icmp.c:1527) ip_protocol_deliver_rcu (net/ipv4/ip_input.c:207) ip_local_deliver_finish (net/ipv4/ip_input.c:242) ip_local_deliver (net/ipv4/ip_input.c:262) ip_rcv (net/ipv4/ip_input.c:573) __netif_receive_skb_one_core (net/core/dev.c:6164) process_backlog (net/core/dev.c:6628) handle_softirqs (kernel/softirq.c:561) </IRQ> Add a NULL check before accessing icmp_strict_tag_validation. If the protocol has no registered handler, return false since it cannot perform strict tag validation.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: clsact: Fix use-after-free in init/destroy rollback asymmetry Fix a use-after-free in the clsact qdisc upon init/destroy rollback asymmetry. The latter is achieved by first fully initializing a clsact instance, and then in a second step having a replacement failure for the new clsact qdisc instance. clsact_init() initializes ingress first and then takes care of the egress part. This can fail midway, for example, via tcf_block_get_ext(). Upon failure, the kernel will trigger the clsact_destroy() callback. Commit 1cb6f0bae504 ("bpf: Fix too early release of tcx_entry") details the way how the transition is happening. If tcf_block_get_ext on the q->ingress_block ends up failing, we took the tcx_miniq_inc reference count on the ingress side, but not yet on the egress side. clsact_destroy() tests whether the {ingress,egress}_entry was non-NULL. However, even in midway failure on the replacement, both are in fact non-NULL with a valid egress_entry from the previous clsact instance. What we really need to test for is whether the qdisc instance-specific ingress or egress side previously got initialized. This adds a small helper for checking the miniq initialization called mini_qdisc_pair_inited, and utilizes that upon clsact_destroy() in order to fix the use-after-free scenario. Convert the ingress_destroy() side as well so both are consistent to each other.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tls: Purge async_hold in tls_decrypt_async_wait() The async_hold queue pins encrypted input skbs while the AEAD engine references their scatterlist data. Once tls_decrypt_async_wait() returns, every AEAD operation has completed and the engine no longer references those skbs, so they can be freed unconditionally. A subsequent patch adds batch async decryption to tls_sw_read_sock(), introducing a new call site that must drain pending AEAD operations and release held skbs. Move __skb_queue_purge(&ctx->async_hold) into tls_decrypt_async_wait() so the purge is centralized and every caller -- recvmsg's drain path, the -EBUSY fallback in tls_do_decryption(), and the new read_sock batch path -- releases held skbs on synchronization without each site managing the purge independently. This fixes a leak when tls_strp_msg_hold() fails part-way through, after having added some cloned skbs to the async_hold queue. tls_decrypt_sg() will then call tls_decrypt_async_wait() to process all pending decrypts, and drop back to synchronous mode, but tls_sw_recvmsg() only flushes the async_hold queue when one record has been processed in "fully-async" mode, which may not be the case here. [pabeni@redhat.com: added leak comment]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/rds: Fix circular locking dependency in rds_tcp_tune syzbot reported a circular locking dependency in rds_tcp_tune() where sk_net_refcnt_upgrade() is called while holding the socket lock: ====================================================== WARNING: possible circular locking dependency detected ====================================================== kworker/u10:8/15040 is trying to acquire lock: ffffffff8e9aaf80 (fs_reclaim){+.+.}-{0:0}, at: __kmalloc_cache_noprof+0x4b/0x6f0 but task is already holding lock: ffff88805a3c1ce0 (k-sk_lock-AF_INET6){+.+.}-{0:0}, at: rds_tcp_tune+0xd7/0x930 The issue occurs because sk_net_refcnt_upgrade() performs memory allocation (via get_net_track() -> ref_tracker_alloc()) while the socket lock is held, creating a circular dependency with fs_reclaim. Fix this by moving sk_net_refcnt_upgrade() outside the socket lock critical section. This is safe because the fields modified by the sk_net_refcnt_upgrade() call (sk_net_refcnt, ns_tracker) are not accessed by any concurrent code path at this point. v2: - Corrected fixes tag - check patch line wrap nits - ai commentary nits


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Fix ID register initialization for non-protected pKVM guests In protected mode, the hypervisor maintains a separate instance of the `kvm` structure for each VM. For non-protected VMs, this structure is initialized from the host's `kvm` state. Currently, `pkvm_init_features_from_host()` copies the `KVM_ARCH_FLAG_ID_REGS_INITIALIZED` flag from the host without the underlying `id_regs` data being initialized. This results in the hypervisor seeing the flag as set while the ID registers remain zeroed. Consequently, `kvm_has_feat()` checks at EL2 fail (return 0) for non-protected VMs. This breaks logic that relies on feature detection, such as `ctxt_has_tcrx()` for TCR2_EL1 support. As a result, certain system registers (e.g., TCR2_EL1, PIR_EL1, POR_EL1) are not saved/restored during the world switch, which could lead to state corruption. Fix this by explicitly copying the ID registers from the host `kvm` to the hypervisor `kvm` for non-protected VMs during initialization, since we trust the host with its non-protected guests' features. Also ensure `KVM_ARCH_FLAG_ID_REGS_INITIALIZED` is cleared initially in `pkvm_init_features_from_host` so that `vm_copy_id_regs` can properly initialize them and set the flag once done.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xen/privcmd: restrict usage in unprivileged domU The Xen privcmd driver allows to issue arbitrary hypercalls from user space processes. This is normally no problem, as access is usually limited to root and the hypervisor will deny any hypercalls affecting other domains. In case the guest is booted using secure boot, however, the privcmd driver would be enabling a root user process to modify e.g. kernel memory contents, thus breaking the secure boot feature. The only known case where an unprivileged domU is really needing to use the privcmd driver is the case when it is acting as the device model for another guest. In this case all hypercalls issued via the privcmd driver will target that other guest. Fortunately the privcmd driver can already be locked down to allow only hypercalls targeting a specific domain, but this mode can be activated from user land only today. The target domain can be obtained from Xenstore, so when not running in dom0 restrict the privcmd driver to that target domain from the beginning, resolving the potential problem of breaking secure boot. This is XSA-482 --- V2: - defer reading from Xenstore if Xenstore isn't ready yet (Jan Beulich) - wait in open() if target domain isn't known yet - issue message in case no target domain found (Jan Beulich)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-azure-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.28.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.28.1

Ссылки
Уязвимость openSUSE-SU-2026:20572-1