A vulnerability in the Linux kernel's ip6_gre module related to obsolete ERSPAN PMTU update handling has been resolved. The issue involved a null pointer dereference caused by the legacy Path MTU (PMTU) update code treating a metadata destination as a route without an output device, leading to a kernel panic. The obsolete code was removed to align ERSPAN with current IPv6 GRE PMTU handling, eliminating the null pointer dereference.
A race condition vulnerability in the Linux kernel's key management subsystem was resolved. The flaw allowed a writer with write permission on a destination keyring to bypass keyring restrictions by exploiting a timing issue between restriction installation and key linking. This could result in unauthorized keys being linked despite reject-all restrictions. The issue was confirmed through repeated testing and fixed by reordering operations to ensure proper serialization of restriction checks with semaphore locking.
A use-after-free vulnerability in the Linux kernel's Bluetooth SCO connection handling was resolved. The flaw involved improper synchronization of the sco_conn lifetime against sco_recv_scodata(), leading to potential use of freed memory. The fix ensures proper locking and reference counting to prevent concurrent access to freed objects.
A use-after-free vulnerability in the Linux kernel's memstick subsystem was resolved by ensuring that asynchronous requests complete before freeing the card structure. The issue occurred because wait_for_completion_timeout() was used, which could time out and free memory while requests were still in flight, leading to a kernel slab-use-after-free write.
A vulnerability in the Linux kernel's memstick subsystem related to the rtsx_usb_ms driver has been resolved. The issue involved requests being dropped silently after a card eject event, causing the removal process to hang indefinitely. This was due to the memstick_check() function passing a removal check just before eject/removing flags were set, leading to requests not being completed and blocking workqueues. The fix ensures requests are always completed, failing them gracefully once eject is set, preventing hangs during device removal.
A vulnerability in the Linux kernel's dm-crypt subsystem was resolved that caused a kernel oops when using the lmk IV mode with AEAD ciphers. This occurs because the lmk mode sets a count of 64 transforms, but only one transform is allocated, leading to out-of-bounds memory access during key setting. The issue is not considered a security bug since exploitation requires root privileges.
A race condition in the Linux kernel device mapper (dm) subsystem was fixed that could cause reading of freed memory during concurrent ioctl calls. This issue occurs when do_resume calls dm_table_get_mode(new_map) without holding locks, potentially leading to use-after-free scenarios. The vulnerability is not considered a security bug because only root can trigger it, and common tools do not invoke the relevant ioctls concurrently. The fix involves reading the mode of the new table before swapping it to prevent the race condition.
A use-after-free vulnerability in the Linux kernel's MediaTek SD card driver (mtk-sd) was resolved by ensuring proper cancellation of delayed work during device removal. The issue involved a timeout callback accessing freed resources after the driver had unbound and released host resources. This could lead to kernel memory corruption detected by KASAN during testing.
A vulnerability in the Linux kernel's drm/imagination driver caused incorrect sizing of page table preallocation. The issue stemmed from miscalculating the size of memory preallocation, leading to excessive allocation of MMU pages. This could exhaust system memory and cause an out of memory (OOM) panic. The vulnerability has been resolved by correcting the calculation to count tables properly and prevent underflow errors when mappings cross page table boundaries.
A vulnerability in the Linux kernel's mmc sdhci-sprd driver was resolved. The issue involved improper runtime power management (PM) cleanup during device removal, where runtime PM was enabled on probe but not properly disabled on remove. This could lead to clocks being disabled twice or in an inconsistent state if the device was runtime suspended during removal. The fix ensures the device is resumed before removal and runtime PM is properly disabled before clocks are turned off.
A vulnerability in the Linux kernel's packet_rcv_spkt() function could cause a kernel panic when processing packets on devices without a visible link layer header, such as CAN interfaces. The issue arises because packet_rcv_spkt() does not guard the link layer header push operation, leading to an invalid length calculation and a panic in skb_push(). This flaw was introduced when other receive paths were updated but packet_rcv_spkt() was not. The vulnerability has been resolved by adding the appropriate guard to prevent the panic.
A use-after-free vulnerability in the Linux kernel's net/smc subsystem was resolved. The flaw occurs in the smc_getname() function, which dereferences a pointer to a CLC socket without proper locking, allowing a race condition where the socket may be released asynchronously. This can lead to either a use-after-free or a NULL pointer dereference during getsockname() calls. The fix involves holding the clcsock_release_lock to serialize access and returning an error if the socket has already been released.
A vulnerability in the Linux kernel's network bridge component involving recursive multicast port cleanup has been resolved. The issue occurs in the function br_multicast_sg_del_exclude_ports(), which removes automatically added STAR_EXCL port groups by calling br_multicast_del_pg(). For certain S,G entries, this deletion triggers recursive calls that consume one kernel stack frame per port, potentially hitting the stack guard page and causing a stack overflow. The fix suppresses recursive exclude-port cleanup during the same entry walk while retaining the overall port-group deletion behavior.
A use-after-free vulnerability in the Linux kernel's network team driver was resolved. The issue involved improper reuse of socket buffers (skb) after a queue override operation, leading to potential kernel memory corruption and panic. The flaw was due to incorrect handling of dev_queue_xmit() results and skb ownership, causing a slab-use-after-free error detected by KASAN. This vulnerability could cause kernel crashes and instability.
A vulnerability in the Linux kernel's network team driver was resolved involving improper handling of broadcast packets when no transmitable port is available. The function bc_transmit() sends the original socket buffer (skb) through the last transmitable port, but if no port is transmitable, it returns false without consuming the skb. However, team_xmit() incorrectly returns NETDEV_TX_OK, causing AF_PACKET sockets to retain the skb and its associated socket write-memory charge, potentially leading to resource leaks. The fix ensures the original skb is freed on the no-port path while maintaining existing drop accounting.
A vulnerability in the Linux kernel's openvswitch component caused a soft lockup during netlink flow dumps on production compute nodes with many datapath flows. The issue arises because the softirq backlog refills as fast as it drains, causing the dumping thread to monopolize CPU time without rescheduling, leading to a system hang. The fix involves holding bottom halves off across the entire callback to prevent nested softirq draining, ensuring the CPU can reschedule properly.
A vulnerability in the Linux kernel's OP-TEE driver allowed TEE devices to be registered before full initialization, leading to potential use of uninitialized mutexes and NULL pointer dereferences. This occurred because tee_device_register() was called prematurely in optee_probe(), exposing devices to user and kernel space before the struct optee was fully set up. The issue has been fixed by deferring device registration until after complete initialization.
A vulnerability in the Linux kernel regulator driver for the LTC3676 chip involved reading write-only registers HRST and CLIRQ. These registers trigger hardware reset and interrupt clear commands when written, but reading them causes unintended board resets. The issue was resolved by making these registers writable only and preventing reads that cause resets.
A vulnerability in the Linux kernel's regulator subsystem was resolved involving the function of_regulator_bulk_get_all(). This function returned an array with uninitialized supply name fields, which could lead to dereferencing uninitialized memory when the array is used by regulator_bulk_enable(). The fix involved copying supply names into the array's allocation to ensure proper initialization and memory safety.
A vulnerability in the Linux kernel's SCSI changer driver (ch) caused references to data transfer element devices to be retained improperly. This led to scsi_device objects never being released after device removal, preventing the unloading of the low-level driver module and requiring a system reboot to recover. The issue was fixed by dropping the reference immediately after use and removing the unused array that caused the leak.