CVE-2026-90185 in Linux
Zusammenfassung
von VulDB • 17.09.2026
Im Linux-Kernel wurde die folgende Schwachstelle behoben:
null_blk: Serialisierung von configfs-Attribut-Speichervorgängen (Stores) mit dem Lock
Die Funktion NULLB_DEVICE_ATTR _store verwendet keinen Lock; apply_fn-Attribute (submit_queues, poll_queues) schreiben dev->NAME erneut nach der Rückkehr von apply_fn, außerhalb dessen Sperrbereichs; APPLY=NULL-Attribute sind vollständig ohne Sperre. configfs serialisiert Stores nur pro offener Datei, sodass gleichzeitige Speichervorgänge auf separaten Dateideskriptoren (fds) zu Wettlaufsituationen (Races) führen können.
Bei apply_fn-Attributen kann ein zweiter (verlierender) Store dev->NAME nachträglich überschreiben, sobald der apply_fn eines ersten Stores die Hardware neu konfiguriert hat. Dies führt dazu, dass dev->submit_queues nicht mehr mit der aktuellen Warteschlangenzahl synchron ist, was später durch WARN_ON_ONCE() in null_map_queues() erkannt wird.
Bei !apply_fn-Attributen validiert und erstellt power_store()'s null_add_dev() das Gerät unter „Lock“, setzt CONFIGURED jedoch erst danach. Ein Store, der während dieses Zeitfensters ausgeführt wird, kann ein Feld mitten im Setup ändern – beispielsweise kann zone_nr_conv über nr_zones erhöht werden, nachdem es bereits auf einen maximalen Wert beschränkt wurde, was zu einem Out-of-Bounds-Zugriff auf dev->zones[] führt.
Es wird „lock“ in dem Makro um den apply_fn-Aufruf, den CONFIGURED-Test und die Feldschreibung herum eingeführt sowie aus nullb_apply_submit_queues()/nullb_apply_poll_queues() herausverschoben, sodass beide Pfade einmalig abgedeckt sind. Dies serialisiert Stores mit der Einrichtung durch power_store und untereinander.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.