CVE-2024-53193 in Linuxinformazioni

Riassunto

di VulDB • 17/07/2026

Nel kernel Linux, la seguente vulnerabilità è stata risolta:

clk: clk-loongson2: Correzione del bug di corruzione della memoria in struct loongson2_clk_provider

Una porzione di heap viene allocata per la struttura flessibile `struct clk_hw_onecell_data` e il suo membro a array flessibile `hws` attraverso la struttura composita `struct loongson2_clk_provider` nella funzione `loongson2_clk_probe()`, come mostrato di seguito:

289 struct loongson2_clk_provider *clp; ... 296 for (p = data; p->name; p++) 297 clks_num++; 298 299 clp = devm_kzalloc(dev, struct_size(clp, clk_data.hws, clks_num), 300 GFP_KERNEL);

Successivamente, alcuni dati vengono scritti nell'array flessibile:

350 clp->clk_data.hws[p->id] = hw;

Questo causa la corruzione di `clk_lock`, che è la variabile spinlock immediatamente successiva al membro `clk_data` in `struct loongson2_clk_provider`:

struct loongson2_clk_provider {
void __iomem *base; struct device *dev; struct clk_hw_onecell_data clk_data; spinlock_t clk_lock; /* protegge l'accesso ai registri DIV */ };

Il problema è che la struttura flessibile si trova attualmente nel mezzo di `struct loongson2_clk_provider` invece che alla fine.

Si risolve il problema spostando `struct clk_hw_onecell_data clk_data;` alla fine di `struct loongson2_clk_provider`. Inoltre, viene aggiunto un commento al codice per aiutare a prevenire che ciò accada nuovamente nel caso in cui nuovi membri vengano aggiunti alla struttura in futuro.

Questa modifica risolve anche il seguente avviso -Wflex-array-member-not-at-end:

drivers/clk/clk-loongson2.c:32:36: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

19/11/2024

Divulgazione

27/12/2024

Moderazione

accettato

CPE

pronto

EPSS

0.00228

KEV

no

Attività

molto basso

Fonti

Might our Artificial Intelligence support you?

Check our Alexa App!