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

exploitDog

suse-cvrf логотип

SUSE-SU-2026:1003-1

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

Описание

Security update for the Linux Kernel

The SUSE Linux Enterprise 15 SP5 kernel was updated to receive various security bugfixes.

The following security bugs were fixed:

  • CVE-2025-21738: ata: libata-sff: Ensure that we cannot write outside the allocated buffer (bsc#1238917).
  • CVE-2025-40242: gfs2: Fix unlikely race in gdlm_put_lock (bsc#1255075).
  • CVE-2025-71066: net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change (bsc#1256645).
  • CVE-2026-23004: dst: fix races in rt6_uncached_list_del() and rt_del_uncached_list() (bsc#1257231).
  • CVE-2026-23060: crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec (bsc#1257735).
  • CVE-2026-23074: net/sched: Enforce that teql can only be used as root qdisc (bsc#1257749).
  • CVE-2026-23089: ALSA: usb-audio: Fix use-after-free in snd_usb_mixer_free() (bsc#1257790).
  • CVE-2026-23191: ALSA: aloop: Fix racy access at PCM trigger (bsc#1258395).
  • CVE-2026-23204: net/sched: cls_u32: use skb_header_pointer_careful() (bsc#1258340).
  • CVE-2026-23209: macvlan: fix error recovery in macvlan_common_newlink() (bsc#1258518).
  • CVE-2026-23268: apparmor: fix unprivileged local user can do privileged policy management (bsc#1258850).
  • CVE-2026-23269: apparmor: validate DFA start states are in bounds in unpack_pdb (bsc#1259857).

The following non-security bugs were fixed:

  • Disable CONFIG_NET_SCH_ATM (jsc#PED-12836).
  • 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).

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

Container suse/sle-micro/base-5.5:latest
kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest
kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS
cluster-md-kmp-default-5.14.21-150500.55.141.1
dlm-kmp-default-5.14.21-150500.55.141.1
gfs2-kmp-default-5.14.21-150500.55.141.1
kernel-64kb-5.14.21-150500.55.141.1
kernel-64kb-devel-5.14.21-150500.55.141.1
kernel-default-5.14.21-150500.55.141.1
kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
kernel-default-devel-5.14.21-150500.55.141.1
kernel-devel-5.14.21-150500.55.141.1
kernel-docs-5.14.21-150500.55.141.1
kernel-macros-5.14.21-150500.55.141.1
kernel-obs-build-5.14.21-150500.55.141.1
kernel-source-5.14.21-150500.55.141.1
kernel-syms-5.14.21-150500.55.141.1
ocfs2-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS
cluster-md-kmp-default-5.14.21-150500.55.141.1
dlm-kmp-default-5.14.21-150500.55.141.1
gfs2-kmp-default-5.14.21-150500.55.141.1
kernel-64kb-5.14.21-150500.55.141.1
kernel-64kb-devel-5.14.21-150500.55.141.1
kernel-default-5.14.21-150500.55.141.1
kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
kernel-default-devel-5.14.21-150500.55.141.1
kernel-devel-5.14.21-150500.55.141.1
kernel-docs-5.14.21-150500.55.141.1
kernel-macros-5.14.21-150500.55.141.1
kernel-obs-build-5.14.21-150500.55.141.1
kernel-source-5.14.21-150500.55.141.1
kernel-syms-5.14.21-150500.55.141.1
ocfs2-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise Live Patching 15 SP5
kernel-default-livepatch-5.14.21-150500.55.141.1
kernel-default-livepatch-devel-5.14.21-150500.55.141.1
kernel-livepatch-5_14_21-150500_55_141-default-1-150500.11.5.1
SUSE Linux Enterprise Micro 5.5
kernel-default-5.14.21-150500.55.141.1
kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
kernel-macros-5.14.21-150500.55.141.1
SUSE Linux Enterprise Server 15 SP5-LTSS
cluster-md-kmp-default-5.14.21-150500.55.141.1
dlm-kmp-default-5.14.21-150500.55.141.1
gfs2-kmp-default-5.14.21-150500.55.141.1
kernel-64kb-5.14.21-150500.55.141.1
kernel-64kb-devel-5.14.21-150500.55.141.1
kernel-default-5.14.21-150500.55.141.1
kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
kernel-default-devel-5.14.21-150500.55.141.1
kernel-devel-5.14.21-150500.55.141.1
kernel-docs-5.14.21-150500.55.141.1
kernel-macros-5.14.21-150500.55.141.1
kernel-obs-build-5.14.21-150500.55.141.1
kernel-source-5.14.21-150500.55.141.1
kernel-syms-5.14.21-150500.55.141.1
kernel-zfcpdump-5.14.21-150500.55.141.1
ocfs2-kmp-default-5.14.21-150500.55.141.1
reiserfs-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise Server for SAP Applications 15 SP5
cluster-md-kmp-default-5.14.21-150500.55.141.1
dlm-kmp-default-5.14.21-150500.55.141.1
gfs2-kmp-default-5.14.21-150500.55.141.1
kernel-default-5.14.21-150500.55.141.1
kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
kernel-default-devel-5.14.21-150500.55.141.1
kernel-devel-5.14.21-150500.55.141.1
kernel-docs-5.14.21-150500.55.141.1
kernel-macros-5.14.21-150500.55.141.1
kernel-obs-build-5.14.21-150500.55.141.1
kernel-source-5.14.21-150500.55.141.1
kernel-syms-5.14.21-150500.55.141.1
ocfs2-kmp-default-5.14.21-150500.55.141.1
reiserfs-kmp-default-5.14.21-150500.55.141.1

Описание

In the Linux kernel, the following vulnerability has been resolved: ata: libata-sff: Ensure that we cannot write outside the allocated buffer reveliofuzzing reported that a SCSI_IOCTL_SEND_COMMAND ioctl with out_len set to 0xd42, SCSI command set to ATA_16 PASS-THROUGH, ATA command set to ATA_NOP, and protocol set to ATA_PROT_PIO, can cause ata_pio_sector() to write outside the allocated buffer, overwriting random memory. While a ATA device is supposed to abort a ATA_NOP command, there does seem to be a bug either in libata-sff or QEMU, where either this status is not set, or the status is cleared before read by ata_sff_hsm_move(). Anyway, that is most likely a separate bug. Looking at __atapi_pio_bytes(), it already has a safety check to ensure that __atapi_pio_bytes() cannot write outside the allocated buffer. Add a similar check to ata_pio_sector(), such that also ata_pio_sector() cannot write outside the allocated buffer.


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gfs2: Fix unlikely race in gdlm_put_lock In gdlm_put_lock(), there is a small window of time in which the DFL_UNMOUNT flag has been set but the lockspace hasn't been released, yet. In that window, dlm may still call gdlm_ast() and gdlm_bast(). To prevent it from dereferencing freed glock objects, only free the glock if the lockspace has actually been released.


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: ets: Always remove class from active list before deleting in ets_qdisc_change zdi-disclosures@trendmicro.com says: The vulnerability is a race condition between `ets_qdisc_dequeue` and `ets_qdisc_change`. It leads to UAF on `struct Qdisc` object. Attacker requires the capability to create new user and network namespace in order to trigger the bug. See my additional commentary at the end of the analysis. Analysis: static int ets_qdisc_change(struct Qdisc *sch, struct nlattr *opt, struct netlink_ext_ack *extack) { ... // (1) this lock is preventing .change handler (`ets_qdisc_change`) //to race with .dequeue handler (`ets_qdisc_dequeue`) sch_tree_lock(sch); for (i = nbands; i < oldbands; i++) { if (i >= q->nstrict && q->classes[i].qdisc->q.qlen) list_del_init(&q->classes[i].alist); qdisc_purge_queue(q->classes[i].qdisc); } WRITE_ONCE(q->nbands, nbands); for (i = nstrict; i < q->nstrict; i++) { if (q->classes[i].qdisc->q.qlen) { // (2) the class is added to the q->active list_add_tail(&q->classes[i].alist, &q->active); q->classes[i].deficit = quanta[i]; } } WRITE_ONCE(q->nstrict, nstrict); memcpy(q->prio2band, priomap, sizeof(priomap)); for (i = 0; i < q->nbands; i++) WRITE_ONCE(q->classes[i].quantum, quanta[i]); for (i = oldbands; i < q->nbands; i++) { q->classes[i].qdisc = queues[i]; if (q->classes[i].qdisc != &noop_qdisc) qdisc_hash_add(q->classes[i].qdisc, true); } // (3) the qdisc is unlocked, now dequeue can be called in parallel // to the rest of .change handler sch_tree_unlock(sch); ets_offload_change(sch); for (i = q->nbands; i < oldbands; i++) { // (4) we're reducing the refcount for our class's qdisc and // freeing it qdisc_put(q->classes[i].qdisc); // (5) If we call .dequeue between (4) and (5), we will have // a strong UAF and we can control RIP q->classes[i].qdisc = NULL; WRITE_ONCE(q->classes[i].quantum, 0); q->classes[i].deficit = 0; gnet_stats_basic_sync_init(&q->classes[i].bstats); memset(&q->classes[i].qstats, 0, sizeof(q->classes[i].qstats)); } return 0; } Comment: This happens because some of the classes have their qdiscs assigned to NULL, but remain in the active list. This commit fixes this issue by always removing the class from the active list before deleting and freeing its associated qdisc Reproducer Steps (trimmed version of what was sent by zdi-disclosures@trendmicro.com) ``` DEV="${DEV:-lo}" ROOT_HANDLE="${ROOT_HANDLE:-1:}" BAND2_HANDLE="${BAND2_HANDLE:-20:}" # child under 1:2 PING_BYTES="${PING_BYTES:-48}" PING_COUNT="${PING_COUNT:-200000}" PING_DST="${PING_DST:-127.0.0.1}" SLOW_TBF_RATE="${SLOW_TBF_RATE:-8bit}" SLOW_TBF_BURST="${SLOW_TBF_BURST:-100b}" SLOW_TBF_LAT="${SLOW_TBF_LAT:-1s}" cleanup() { tc qdisc del dev "$DEV" root 2>/dev/null } trap cleanup EXIT ip link set "$DEV" up tc qdisc del dev "$DEV" root 2>/dev/null || true tc qdisc add dev "$DEV" root handle "$ROOT_HANDLE" ets bands 2 strict 2 tc qdisc add dev "$DEV" parent 1:2 handle "$BAND2_HANDLE" \ tbf rate "$SLOW_TBF_RATE" burst "$SLOW_TBF_BURST" latency "$SLOW_TBF_LAT" tc filter add dev "$DEV" parent 1: protocol all prio 1 u32 match u32 0 0 flowid 1:2 tc -s qdisc ls dev $DEV ping -I "$DEV" -f -c "$PING_COUNT" -s "$PING_BYTES" -W 0.001 "$PING_DST" \ >/dev/null 2>&1 & tc qdisc change dev "$DEV" root handle "$ROOT_HANDLE" ets bands 2 strict 0 tc qdisc change dev "$DEV" root handle "$ROOT_HANDLE" ets bands 2 strict 2 tc -s qdisc ls dev $DEV tc qdisc del dev "$DEV" parent ---truncated---


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dst: fix races in rt6_uncached_list_del() and rt_del_uncached_list() syzbot was able to crash the kernel in rt6_uncached_list_flush_dev() in an interesting way [1] Crash happens in list_del_init()/INIT_LIST_HEAD() while writing list->prev, while the prior write on list->next went well. static inline void INIT_LIST_HEAD(struct list_head *list) { WRITE_ONCE(list->next, list); // This went well WRITE_ONCE(list->prev, list); // Crash, @list has been freed. } Issue here is that rt6_uncached_list_del() did not attempt to lock ul->lock, as list_empty(&rt->dst.rt_uncached) returned true because the WRITE_ONCE(list->next, list) happened on the other CPU. We might use list_del_init_careful() and list_empty_careful(), or make sure rt6_uncached_list_del() always grabs the spinlock whenever rt->dst.rt_uncached_list has been set. A similar fix is neeed for IPv4. [1] BUG: KASAN: slab-use-after-free in INIT_LIST_HEAD include/linux/list.h:46 [inline] BUG: KASAN: slab-use-after-free in list_del_init include/linux/list.h:296 [inline] BUG: KASAN: slab-use-after-free in rt6_uncached_list_flush_dev net/ipv6/route.c:191 [inline] BUG: KASAN: slab-use-after-free in rt6_disable_ip+0x633/0x730 net/ipv6/route.c:5020 Write of size 8 at addr ffff8880294cfa78 by task kworker/u8:14/3450 CPU: 0 UID: 0 PID: 3450 Comm: kworker/u8:14 Tainted: G L syzkaller #0 PREEMPT_{RT,(full)} Tainted: [L]=SOFTLOCKUP Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025 Workqueue: netns cleanup_net Call Trace: <TASK> dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xca/0x240 mm/kasan/report.c:482 kasan_report+0x118/0x150 mm/kasan/report.c:595 INIT_LIST_HEAD include/linux/list.h:46 [inline] list_del_init include/linux/list.h:296 [inline] rt6_uncached_list_flush_dev net/ipv6/route.c:191 [inline] rt6_disable_ip+0x633/0x730 net/ipv6/route.c:5020 addrconf_ifdown+0x143/0x18a0 net/ipv6/addrconf.c:3853 addrconf_notify+0x1bc/0x1050 net/ipv6/addrconf.c:-1 notifier_call_chain+0x19d/0x3a0 kernel/notifier.c:85 call_netdevice_notifiers_extack net/core/dev.c:2268 [inline] call_netdevice_notifiers net/core/dev.c:2282 [inline] netif_close_many+0x29c/0x410 net/core/dev.c:1785 unregister_netdevice_many_notify+0xb50/0x2330 net/core/dev.c:12353 ops_exit_rtnl_list net/core/net_namespace.c:187 [inline] ops_undo_list+0x3dc/0x990 net/core/net_namespace.c:248 cleanup_net+0x4de/0x7b0 net/core/net_namespace.c:696 process_one_work kernel/workqueue.c:3257 [inline] process_scheduled_works+0xad1/0x1770 kernel/workqueue.c:3340 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421 kthread+0x711/0x8a0 kernel/kthread.c:463 ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246 </TASK> Allocated by task 803: kasan_save_stack mm/kasan/common.c:57 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:78 unpoison_slab_object mm/kasan/common.c:340 [inline] __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:366 kasan_slab_alloc include/linux/kasan.h:253 [inline] slab_post_alloc_hook mm/slub.c:4953 [inline] slab_alloc_node mm/slub.c:5263 [inline] kmem_cache_alloc_noprof+0x18d/0x6c0 mm/slub.c:5270 dst_alloc+0x105/0x170 net/core/dst.c:89 ip6_dst_alloc net/ipv6/route.c:342 [inline] icmp6_dst_alloc+0x75/0x460 net/ipv6/route.c:3333 mld_sendpack+0x683/0xe60 net/ipv6/mcast.c:1844 mld_send_cr net/ipv6/mcast.c:2154 [inline] mld_ifc_work+0x83e/0xd60 net/ipv6/mcast.c:2693 process_one_work kernel/workqueue.c:3257 [inline] process_scheduled_works+0xad1/0x1770 kernel/workqueue.c:3340 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3421 kthread+0x711/0x8a0 kernel/kthread.c:463 ret_from_fork+0x510/0xa50 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entr ---truncated---


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: hv_netvsc: reject RSS hash key programming without RX indirection table RSS configuration requires a valid RX indirection table. When the device reports a single receive queue, rndis_filter_device_add() does not allocate an indirection table, accepting RSS hash key updates in this state leads to a hang. Fix this by gating netvsc_set_rxfh() on ndc->rx_table_sz and return -EOPNOTSUPP when the table is absent. This aligns set_rxfh with the device capabilities and prevents incorrect behavior.


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: authencesn - reject too-short AAD (assoclen<8) to match ESP/ESN spec authencesn assumes an ESP/ESN-formatted AAD. When assoclen is shorter than the minimum expected length, crypto_authenc_esn_decrypt() can advance past the end of the destination scatterlist and trigger a NULL pointer dereference in scatterwalk_map_and_copy(), leading to a kernel panic (DoS). Add a minimum AAD length check to fail fast on invalid inputs.


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: Enforce that teql can only be used as root qdisc Design intent of teql is that it is only supposed to be used as root qdisc. We need to check for that constraint. Although not important, I will describe the scenario that unearthed this issue for the curious. GangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows: ROOT qdisc 1:0 (QFQ) ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s ── class 1:2 (weight=1, lmax=1514) teql GangMin sends a packet which is enqueued to 1:1 (netem). Any invocation of dequeue by QFQ from this class will not return a packet until after 6.4s. In the meantime, a second packet is sent and it lands on 1:2. teql's enqueue will return success and this will activate class 1:2. Main issue is that teql only updates the parent visible qlen (sch->q.qlen) at dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's peek always returns NULL), dequeue will never be called and thus the qlen will remain as 0. With that in mind, when GangMin updates 1:2's lmax value, the qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's qlen was not incremented, qfq fails to deactivate the class, but still frees its pointers from the aggregate. So when the first packet is rescheduled after 6.4 seconds (netem's delay), a dangling pointer is accessed causing GangMin's causing a UAF.


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Fix use-after-free in snd_usb_mixer_free() When snd_usb_create_mixer() fails, snd_usb_mixer_free() frees mixer->id_elems but the controls already added to the card still reference the freed memory. Later when snd_card_register() runs, the OSS mixer layer calls their callbacks and hits a use-after-free read. Call trace: get_ctl_value+0x63f/0x820 sound/usb/mixer.c:411 get_min_max_with_quirks.isra.0+0x240/0x1f40 sound/usb/mixer.c:1241 mixer_ctl_feature_info+0x26b/0x490 sound/usb/mixer.c:1381 snd_mixer_oss_build_test+0x174/0x3a0 sound/core/oss/mixer_oss.c:887 ... snd_card_register+0x4ed/0x6d0 sound/core/init.c:923 usb_audio_probe+0x5ef/0x2a90 sound/usb/card.c:1025 Fix by calling snd_ctl_remove() for all mixer controls before freeing id_elems. We save the next pointer first because snd_ctl_remove() frees the current element.


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: aloop: Fix racy access at PCM trigger The PCM trigger callback of aloop driver tries to check the PCM state and stop the stream of the tied substream in the corresponding cable. Since both check and stop operations are performed outside the cable lock, this may result in UAF when a program attempts to trigger frequently while opening/closing the tied stream, as spotted by fuzzers. For addressing the UAF, this patch changes two things: - It covers the most of code in loopback_check_format() with cable->lock spinlock, and add the proper NULL checks. This avoids already some racy accesses. - In addition, now we try to check the state of the capture PCM stream that may be stopped in this function, which was the major pain point leading to UAF.


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.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


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: macvlan: fix error recovery in macvlan_common_newlink() valis provided a nice repro to crash the kernel: ip link add p1 type veth peer p2 ip link set address 00:00:00:00:00:20 dev p1 ip link set up dev p1 ip link set up dev p2 ip link add mv0 link p2 type macvlan mode source ip link add invalid% link p2 type macvlan mode source macaddr add 00:00:00:00:00:20 ping -c1 -I p1 1.2.3.4 He also gave a very detailed analysis: <quote valis> The issue is triggered when a new macvlan link is created with MACVLAN_MODE_SOURCE mode and MACVLAN_MACADDR_ADD (or MACVLAN_MACADDR_SET) parameter, lower device already has a macvlan port and register_netdevice() called from macvlan_common_newlink() fails (e.g. because of the invalid link name). In this case macvlan_hash_add_source is called from macvlan_change_sources() / macvlan_common_newlink(): This adds a reference to vlan to the port's vlan_source_hash using macvlan_source_entry. vlan is a pointer to the priv data of the link that is being created. When register_netdevice() fails, the error is returned from macvlan_newlink() to rtnl_newlink_create(): if (ops->newlink) err = ops->newlink(dev, &params, extack); else err = register_netdevice(dev); if (err < 0) { free_netdev(dev); goto out; } and free_netdev() is called, causing a kvfree() on the struct net_device that is still referenced in the source entry attached to the lower device's macvlan port. Now all packets sent on the macvlan port with a matching source mac address will trigger a use-after-free in macvlan_forward_source(). </quote valis> With all that, my fix is to make sure we call macvlan_flush_sources() regardless of @create value whenever "goto destroy_macvlan_port;" path is taken. Many thanks to valis for following up on this issue.


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: apparmor: fix unprivileged local user can do privileged policy management An unprivileged local user can load, replace, and remove profiles by opening the apparmorfs interfaces, via a confused deputy attack, by passing the opened fd to a privileged process, and getting the privileged process to write to the interface. This does require a privileged target that can be manipulated to do the write for the unprivileged process, but once such access is achieved full policy management is possible and all the possible implications that implies: removing confinement, DoS of system or target applications by denying all execution, by-passing the unprivileged user namespace restriction, to exploiting kernel bugs for a local privilege escalation. The policy management interface can not have its permissions simply changed from 0666 to 0600 because non-root processes need to be able to load policy to different policy namespaces. Instead ensure the task writing the interface has privileges that are a subset of the task that opened the interface. This is already done via policy for confined processes, but unconfined can delegate access to the opened fd, by-passing the usual policy check.


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: apparmor: validate DFA start states are in bounds in unpack_pdb Start states are read from untrusted data and used as indexes into the DFA state tables. The aa_dfa_next() function call in unpack_pdb() will access dfa->tables[YYTD_ID_BASE][start], and if the start state exceeds the number of states in the DFA, this results in an out-of-bound read. ================================================================== BUG: KASAN: slab-out-of-bounds in aa_dfa_next+0x2a1/0x360 Read of size 4 at addr ffff88811956fb90 by task su/1097 ... Reject policies with out-of-bounds start states during unpacking to prevent the issue.


Затронутые продукты
Container suse/sle-micro/base-5.5:latest:kernel-default-5.14.21-150500.55.141.1
Container suse/sle-micro/kvm-5.5:latest:kernel-default-base-5.14.21-150500.55.141.1.150500.6.69.2
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:cluster-md-kmp-default-5.14.21-150500.55.141.1
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS:dlm-kmp-default-5.14.21-150500.55.141.1

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