CVE-2026-64296

Linux kernel (GCP) vulnerabilities

Beschreibung

Im Linux-Kernel wurde die folgende Schwachstelle behoben:

exfat: unbeschränkte Vorwärtsbewegung in exfat_find_dir_entry()

In exfat_find_dir_entry() wird für jedes TYPE_EXTEND (Dateiname) Eintrag der Ausgabepointer um eine feste Menge vorwärts bewegt, während die Schleifenbedingung nur die akkumulierte Namenslänge verfolgt:

if (++order == 2)
    uniname = p_uniname->name;
else
    uniname += EXFAT_FILE_NAME_LEN;
len = exfat_extract_uni_name(ep, entry_uniname);
name_len += len;
unichar = *(uniname+len);
*(uniname+len) = 0x0;

uniname wächst um EXFAT_FILE_NAME_LEN (15) pro Nameneintrag, aber name_len wächst nur um die tatsächlich extrahierte Länge, was kürzer ist, wenn ein Name-Fragment einen frühen NUL enthält. Der einzige Schutzmechanismus ist name_len >= MAX_NAME_LENGTH, sodass ein manipuliertes Verzeichnis mit vielen kurzen Namensegmenten es ermöglicht, dass uniname weit über den Puffer p_uniname->name[MAX_NAME_LENGTH + 3] hinausläuft, während name_len klein bleibt und somit eine Out-of-Bounds-Lese- und Schreiboperation bei *(uniname+len) verursacht.

Der Schwesterextraktor exfat_get_uniname_from_ext_entry() stoppt bereits bei einem kurzen Fragment (der gleichzeitige Guard len != EXFAT_FILE_NAME_LEN, der in Commit d42334578eba ("exfat: check if filename entries exceeds max filename length") hinzugefügt wurde); exfat_find_dir_entry() erhielt nie das Äquivalent. Verfolge den pro-Eintrag-Schreib-Offset als Zähler und lehne ein Fragment ab, sobald der Offset oder der Offset plus die extrahierte Länge MAX_NAME_LENGTH überschreiten würde, bevor der Ausgabepointer gebildet wird.

Metriken

Severity
high
kein öffentlicher PoC bekannt
7.8
Quelle: cna-v3
6.4 %
Niedrig — CVE gehört zu den unteren 10 % der heute bewerteten CVEs.
0.2 %
Niedrig — Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
Veröffentlicht
2026-09-07 09:05 UTC

Re-Analyse & Statuswechsel

Chronologie der NVD-Audit-Events für diese CVE — Reanalyses, CVSS-Updates, CPE-Diffs.

  1. CVE Modified2026-08-17 05:17 UTC· 416baaa9-dc9f-4396-8d5f-8c081fb06d67
    • Affected: Linux, LinuxLinux, Linux
  2. New CVE Received2026-07-25 10:17 UTC· 416baaa9-dc9f-4396-8d5f-8c081fb06d67
    • Affected: Linux, Linux
    • Description: In the Linux kernel, the following vulnerability has been resolved: exfat: bound uniname advance in exfat_find_dir_entry() In exfat_find_dir_entry(), each TYPE_EXTEND (file name) entry advances the output pointer by a fixed amount while the loop guard only tracks the accumulated name length: if (++order == 2) uniname = p_uniname->name; else uniname += EXFAT_FILE_NAME_LEN; len = exfat_extract_uni_name(ep, entry_uniname); name_len += len; unichar = *(uniname+len); *(uniname+len) = 0x0; uniname grows by EXFAT_FILE_NAME_LEN (15) per name entry, but name_len grows only by the actual extracted length, which is shorter when a name fragment contains an early NUL. The only guard is `name_len >= MAX_NAME_LENGTH`, so a crafted directory with many short name fragments lets uniname run far past the p_uniname->name[MAX_NAME_LENGTH + 3] buffer while name_len stays small, causing an out-of-bounds read and write at *(uniname+len). The sibling extractor exfat_get_uniname_from_ext_entry() already stops on a short fragment (the lockstep `len != EXFAT_FILE_NAME_LEN` guard added in commit d42334578eba ("exfat: check if filename entries exceeds max filename length")); exfat_find_dir_entry() never got the equivalent. Track the per-entry write offset as a count and reject a fragment once the offset, or the offset plus the extracted length, would exceed MAX_NAME_LENGTH, before forming the output pointer.
    • Reference: https://git.kernel.org/stable/c/33c0b96d7e1672be1de0053786637ea46fb81507
    • Reference: https://git.kernel.org/stable/c/3a1230e7b043c62737b05a3e9275ca83a43ad20a

Betroffene Betriebssysteme

  • linux

    redhat / enterprise_linux10.0

  • linux

    redhat / enterprise_linux7.0

  • linux

    redhat / enterprise_linux8.0

  • linux

    redhat / enterprise_linux9.0

  • linux

    ubuntu / linux-aws-6.8jammy

  • linux

    ubuntu / linux-azureresolute

  • linux

    ubuntu / linux-azuretrusty

  • linux

    ubuntu / linux-azurexenial

  • linux

    ubuntu / linux-azure-4.15bionic

  • linux

    ubuntu / linux-azure-5.4bionic

  • linux

    ubuntu / linux-azure-fdenoble

  • linux

    ubuntu / linux-azure-fderesolute

  • linux

    ubuntu / linux-azure-fde-6.8jammy

  • linux

    ubuntu / linux-azure-fipsbionic

  • linux

    ubuntu / linux-azure-fipsfocal

  • linux

    ubuntu / linux-azure-fipsnoble

  • linux

    ubuntu / linux-fipsjammy

  • linux

    ubuntu / linux-gcp-7.0noble

  • linux

    ubuntu / linux-gkejammy

  • linux

    ubuntu / linux-nvidia-tegranoble

  • linux

    ubuntu / linux-raspinoble

  • linux

    ubuntu / linux-raspi-realtimenoble

  • linux

    linux / linux_kernel2.6.12

  • linux

    linux / linux_kernel2.6.15

Quellen & Referenzen

Verknüpfte CVEs

1392 weitere CVEs anzeigen
IDCVE-2026-64296
Linux kernel (GCP) vulnerabilities — CVE-2026-64296 | NEOSEC Intel