CVE-2026-93048 in Linuxinfo

Zusammenfassung

von VulDB • 18.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

mtd: part: Ablehnung von MTDPART_OFS_RETAIN in mtd_add_partition()

Die Funktion `mtd_add_partition()` lehnt den speziellen Offset-Wert `MTDPART_OFS_RETAIN` (-3) nicht ab, was zu einem `WARN_ON`-Aufruf in `add_mtd_device()` führt, wenn dies über das BLKPG-ioctl auf NAND-Geräten aufgerufen wird. Der RETAIN-Wert setzt voraus, dass `cur_offset` dem Ende der vorherigen Partition entspricht; im dynamischen Pfad für Partitionen ist `cur_offset` jedoch gleich dem Offset-Argument selbst, was zu undefiniertem Verhalten führt.

Das Commit 5daa7b21496a („mtd: prepare partition add and del functions for ioctl requests“) führte `mtd_add_partition()` ein und lehnte korrekt die speziellen Offsets `MTDPART_OFS_APPEND` (-1) und `MTDPART_OFS_NXTBLK` (-2) ab, da diese speziellen Offsets davon abhängen, dass `cur_offset` das Ende der vorherigen Partition verfolgt. Das spätere Commit 1a31368bf92e („mtd: add a flags for partitions which should just leave smth. after them“) fügte jedoch für den statischen Pfad der Partitionstabelle `MTDPART_OFS_RETAIN` (-3) hinzu, ohne `mtd_add_partition()` zu aktualisieren, um auch diesen Wert abzulehnen.

Wenn Offset=-3 über BLKPG übergeben wird, kommt es in `allocate_partition()` zu einem Underflow bei der RETAIN-Größenberechnung (parent_size - 0xFFFFFFFFFFFFFFFD = parent_size + 3). Wenn das Ergebnis des Underflows nicht genügend Platz zu hinterlassen scheint, springt `allocate_partition()` via goto nach out_register und überspringt die Initialisierung von erasesize. Dies führt dazu, dass erasesize=0 ist, was folgendes auslöst:

WARN_ON((!mtd->erasesize || !master->_erase) && !(mtd->flags & MTD_NO_ERASE))

in add_mtd_device(). Wenn das Ergebnis des Underflows jedoch genügend Platz zu hinterlassen scheint, wird eine falsche Partitiongröße berechnet; die „out of reach“-Sicherheitsprüfung fängt den ungültigen Offset ab und erstellt stattdessen eine deaktivierte leere Partition (Offset=0, Größe=0), anstatt einen Fehler zurückzugeben.

Beheben Sie dies, indem Sie MTDPART_OFS_RETAIN zur Ablehnungsliste in mtd_add_partition() hinzufügen, konsistent mit der bestehenden Handhabung von APPEND und NXTBLK.

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

Zuständig

Linux

Reservieren

17.09.2026

Veröffentlichung

17.09.2026

Moderieren

akzeptiert

Eintrag

VDB-407092

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Want to stay up to date on a daily basis?

Enable the mail alert feature now!