CVE-2024-39461 clk: bcm: rpi: Assign ->num before accessing ->hws

Medium 5.5 Published Updated

A missing initialization in the Raspberry Pi clock driver causes an out-of-bounds access warning, potentially leading to a kernel crash or denial of service.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2024-39461?

CVE-2024-39461 is a medium-severity vulnerability in Linux kernel, published on 25 Jun 2024. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

In the Linux kernel, the following vulnerability has been resolved:

clk: bcm: rpi: Assign ->num before accessing ->hws

Commit f316cdff8d67 ("clk: Annotate struct clk_hw_onecell_data with __counted_by") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer about the number of elements in hws, so that it can warn when hws is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in raspberrypi_discover_clocks() due to ->num being assigned after ->hws has been accessed:

UBSAN: array-index-out-of-bounds in drivers/clk/bcm/clk-raspberrypi.c:374:4 index 3 is out of range for type 'struct clk_hw *[] __counted_by(num)' (aka 'struct clk_hw *[]')

Move the ->num initialization to before the first access of ->hws, which clears up the warning.

Weakness: CWE-129

Which versions are affected by CVE-2024-39461?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2024-39461?

Apply the vendor's patch.

Is CVE-2024-39461 being exploited?

There is no known exploitation of CVE-2024-39461 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2024-39461, DEBIAN-CVE-2024-39461, GHSA-6jf6-455v-8c5m, UBUNTU-CVE-2024-39461.

Is CVE-2024-39461 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free