CVE-2026-80672 in Linuxinfo

Zusammenfassung

von VulDB • 28.08.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

ntfs: Korrektur der u16-Verkürzung bei der Überprüfung der Restart-Bereichslänge

ntfs_check_restart_area() validiert, dass die $LogFile-Restart-Fläche und ihr nachgestellter Array von Log-Clients innerhalb der System-Seitengröße passen:

u16 ra_ofs, ra_len, ca_ofs; ... ra_len = ca_ofs + le16_to_cpu(ra->log_clients) * sizeof(struct log_client_record); if (ra_ofs + ra_len > le32_to_cpu(rp->system_page_size) || ...) return false;

ra_len ist u16, aber die rechte Seite wird in size_t berechnet (sizeof(struct log_client_record) == 160). Sowohl ca_ofs als auch log_clients stammen direkt aus dem Restart-Bereich auf der Festplatte. Bei einem Wert von 410 für log_clients on disk ergibt das Produkt 410 * 160 = 65600; die Addition von ca_ofs und das Speichern in den u16-Wert ra_len führt zu einer Verkürzung modulo 65536 (z. B. liefert ca_ofs 64 für ra_len 128), sodass die „passt in die Seite“-Prüfung bestanden wird, obwohl der durch log_clients beschriebene Client-Array weit über die Seite hinausreicht.

ntfs_check_log_client_array() durchläuft dann den Array, der nur durch den on-disk-Wert von log_clients begrenzt ist:

cr = ca + idx; if (cr->prev_client != LOGFILE_NO_CLIENT) ...

Für 410 log Clients werden Datensätze bis zu ca + 409 * 160 dereferenziert, was ~64 KiB jenseits des mit kvzalloc(system_page_size) zugewiesenen Restart-Seitenpuffers liegt – ein Out-of-Bounds-Lesezugriff auf einen vom Angreifer kontrollierten Bereich, der erreichbar ist, wenn ein manipulierter NTFS-Image gemountet wird (load_and_check_logfile() zum Zeitpunkt des Mountens). Dies ist das in-Kernel-Analogon zu CVE-2022-30789, das im ntfs-3g-Benutzerraum-Treiber behoben wurde, aber nie in diesem wiederbelebten klassischen Treiber.

Berechnen Sie die Restart-Bereichslänge in u32, damit die bestehende Grenzwertprüfung einen zu großen Client-Array ablehnt, anstatt durch die Verkürzung ausgehebelt zu werden. Erweitern Sie auch ra_ofs und ca_ofs auf u32: Beide werden aus __le16-Feldern on disk geladen, und jeder Vergleich wird bereits in int/size_t umgewandelt, sodass dies kein Ergebnis ändert und die Deklaration einheitlich hält.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Linux

Reservieren

26.08.2026

Veröffentlichung

28.08.2026

Moderieren

akzeptiert

Eintrag

VDB-396625

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Do you want to use VulDB in your project?

Use the official API to access entries easily!