CVE-2026-89798 in Linuxinfo

Zusammenfassung

von VulDB • 16.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

rpcrdma: rn_done vor der Veröffentlichung der Benachrichtigung aktivieren (arm)

rpcrdma_rn_register() fügt @rn mit xa_alloc() in rd_xa ein, bevor es den Callback des Aufrufers in rn->rn_done speichert. Der xarray macht @rn für rpcrdma_remove_one() erreichbar, das über rd_xa iteriert und rn->rn_done(rn) für jede registrierte Benachrichtigung aufruft. Ein Geräte-Entfernungsprozess, der mit einer neuen Registrierung konkurriert (Race Condition), kann daher @rn mit einem noch NULLen rn_done beobachten, da die Benachrichtigungsobjekte von ihren Besitzern null-allokiert werden und somit über einen NULL-Funktionszeiger aufgerufen wird.

Speichern Sie rn->rn_done vor xa_alloc(), um @rn zu veröffentlichen. Die Speicher-Seiten- und Lade-Seiten-Reihenfolge des xarray garantiert dann, dass jede CPU, die @rn in rd_xa findet, auch den aktivierten Callback beobachtet.

rpcrdma_rn_unregister() behandelt ein nicht-NULL rn_done als Sentinel für eine abgeschlossene Registrierung; daher darf der frühe Speicher bei einer fehlgeschlagenen Registrierung nicht fortbestehen. Löschen Sie rn_done erneut, wenn xa_alloc() fehlschlägt. Wäre es gesetzt gelassen, würde die Cleanup-Pfad-Routine für den gescheiterten Accept rpcrdma_rn_unregister() auf einem @rn aufrufen, das nie eingefügt wurde, wodurch ein unverbundener rd_xa-Eintrag gelöscht und rd_kref unterlaufen (underflowed) wird.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Zuständig

Linux

Reservieren

11.09.2026

Veröffentlichung

16.09.2026

Moderieren

akzeptiert

Eintrag

VDB-405618

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!