The Linux Kernel, the operating system core itself.
Security Fix(es):
In the Linux kernel, the following vulnerability has been resolved:
clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change
While PLL CPUX clock rate change when CPU is running from it works in vast majority of cases, now and then it causes instability. This leads to system crashes and other undefined behaviour. After a lot of testing (30+ hours) while also doing a lot of frequency switches, we can't observe any instability issues anymore when doing reparenting to stable clock like 24 MHz oscillator.(CVE-2023-52882)
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: uvc: use correct buffer size when parsing configfs lists
This commit fixes uvc gadget support on 32-bit platforms.
Commit 0df28607c5cb ("usb: gadget: uvc: Generalise helper functions for reuse") introduced a helper function _uvcgiteritementries() to aid with parsing lists of items on configfs attributes stores. This function is a generalization of another very similar function, which used a stack-allocated temporary buffer of fixed size for each item in the list and used the sizeof() operator to check for potential buffer overruns. The new function was changed to allocate the now variably sized temp buffer on heap, but wasn't properly updated to also check for max buffer size using the computed size instead of sizeof() operator.
As a result, the maximum item size was 7 (plus null terminator) on 64-bit platforms, and 3 on 32-bit ones. While 7 is accidentally just barely enough, 3 is definitely too small for some of UVC configfs attributes. For example, dwFrameInteval, specified in 100ns units, usually has 6-digit item values, e.g. 166666 for 60fps.(CVE-2024-36895)
In the Linux kernel, the following vulnerability has been resolved:
firewire: ohci: mask bus reset interrupts between ISR and bottom half
In the FireWire OHCI interrupt handler, if a bus reset interrupt has occurred, mask bus reset interrupts until busresetwork has serviced and cleared the interrupt.
Normally, we always leave bus reset interrupts masked. We infer the bus reset from the self-ID interrupt that happens shortly thereafter. A scenario where we unmask bus reset interrupts was introduced in 2008 in a007bb857e0b26f5d8b73c2ff90782d9c0972620: If OHCIPARAMDEBUG_BUSRESETS (8) is set in the debug parameter bitmask, we will unmask bus reset interrupts so we can log them.
irqhandler logs the bus reset interrupt. However, we can't clear the bus reset event flag in irqhandler, because we won't service the event until later. irqhandler exits with the event flag still set. If the corresponding interrupt is still unmasked, the first bus reset will usually freeze the system due to irqhandler being called again each time it exits. This freeze can be reproduced by loading firewireohci with "modprobe firewireohci debug=-1" (to enable all debugging output). Apparently there are also some cases where busresetwork will get called soon enough to clear the event, and operation will continue normally.
This freeze was first reported a few months after a007bb85 was committed, but until now it was never fixed. The debug level could safely be set to -1 through sysfs after the module was loaded, but this would be ineffectual in logging bus reset interrupts since they were only unmasked during initialization.
irqhandler will now leave the event flag set but mask bus reset interrupts, so irqhandler won't be called again and there will be no freeze. If OHCIPARAMDEBUGBUSRESETS is enabled, busreset_work will unmask the interrupt after servicing the event, so future interrupts will be caught as desired.
As a side effect to this change, OHCIPARAMDEBUGBUSRESETS can now be enabled through sysfs in addition to during initial module loading. However, when enabled through sysfs, logging of bus reset interrupts will be effective only starting with the second bus reset, after busreset_work has executed.(CVE-2024-36950)
{ "severity": "Medium" }
{ "src": [ "kernel-6.6.0-31.0.0.39.oe2403.src.rpm" ], "x86_64": [ "bpftool-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "bpftool-debuginfo-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "kernel-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "kernel-debuginfo-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "kernel-debugsource-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "kernel-devel-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "kernel-headers-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "kernel-source-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "kernel-tools-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "kernel-tools-debuginfo-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "kernel-tools-devel-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "perf-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "perf-debuginfo-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "python3-perf-6.6.0-31.0.0.39.oe2403.x86_64.rpm", "python3-perf-debuginfo-6.6.0-31.0.0.39.oe2403.x86_64.rpm" ], "aarch64": [ "bpftool-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "bpftool-debuginfo-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "kernel-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "kernel-debuginfo-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "kernel-debugsource-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "kernel-devel-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "kernel-headers-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "kernel-source-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "kernel-tools-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "kernel-tools-debuginfo-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "kernel-tools-devel-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "perf-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "perf-debuginfo-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "python3-perf-6.6.0-31.0.0.39.oe2403.aarch64.rpm", "python3-perf-debuginfo-6.6.0-31.0.0.39.oe2403.aarch64.rpm" ] }