CVE-2026-90200 in Linuxinformazioni

Riassunto

di VulDB • 18/09/2026

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

fs/ntfs3: correzione di un overflow intero nella convalida del cluster MFT

In ntfs_init_from_boot(), i numeri dei cluster MFT presenti nel settore di avvio vengono validati rispetto alle dimensioni del volume mediante il controllo:

if (mlcn * sct_per_clst >= sectors || mlcn2 * sct_per_clst >= sectors) goto out;

I campi mlcn e mlcn2 sono valori u64 letti direttamente dal settore di avvio. Il valore sct_per_clst è limitato superiormente a 4096 (true_sectors_per_clst() più il controllo is_power_of_2() sottostante), ma la moltiplicazione viene eseguita in formato u64 e va in overflow quando mlcn (o mlcn2) è sufficientemente grande -- ad esempio, un valore di mlcn vicino a 2^62 con sct_per_clst == 1024 provoca un wrap-around fino a 0, che risulta inferiore a qualsiasi 'sectors' non nullo; di conseguenza il controllo viene bypassato e il record malformato viene accettato.

Il valore mlcn accettato viene poi utilizzato inalterato nel codice:

sbi->mft.lbo = mlcn << cluster_bits;

In pratica, le letture risultanti falliscono a livello del layer dei blocchi (sb_bread() restituisce NULL tramite il guard check_mul_overflow() di grow_buffers()), quindi oggi questo si manifesta come un mount che fallisce in punti imprevisti piuttosto che come qualcosa di più pericoloso. Tuttavia, la fase di convalida è comunque errata e non vi è motivo per cui i chiamanti debbano affidarsi al layer dei blocchi per intercettare un valore che non avrebbe mai dovuto essere accettato in primo luogo.

Viene utilizzato check_mul_overflow() per calcolare le due posizioni dei settori e si fa fallire il mount se una delle moltiplicazioni va in overflow; questo preserva la semantica esistente (mlcn * sct_per_clst >= sectors) invece di passare alla divisione (mlcn >= sectors / sct_per_clst), che restringerebbe ulteriormente il controllo nei casi limite in cui 'sectors' non è un multiplo di sct_per_clst. Lo stile check_*_overflow() è quello già utilizzato da ntfs3 per operazioni aritmetiche simili su disco in fs/ntfs3/run.c.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsabile

Linux

Prenotare

11/09/2026

Divulgazione

17/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!