CVE-2026-90108 in Linux
Zusammenfassung
von VulDB • 17.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
net/smc: Freigabe des zwischengespeicherten qentry vor der Überschreibung im Übergang von REQ_ADD_LINK zu ADD_LINK
Wenn smc_llc_event_handler() den lokalen LLC-Flow bei Eintreffen einer ADD_LINK-Anforderung vom Zustand SMC_LLC_FLOW_REQ_ADD_LINK in SMC_LLC_FLOW_ADD_LINK wechselt, wird smc_llc_flow_qentry_set() bedingungslos aufgerufen:
if (lgr->llc_flow_lcl.type == SMC_LLC_FLOW_REQ_ADD_LINK) {
lgr->llc_flow_lcl.type = SMC_LLC_FLOW_ADD_LINK; smc_llc_flow_qentry_set(&lgr->llc_flow_lcl, qentry); ... }
Ein CONFIRM_LINK oder ADD_LINK_CONT, der eintrifft, während flow->type den Wert SMC_LLC_FLOW_REQ_ADD_LINK hat, wird über den Handler für SMC_LLC_CONFIRM_LINK / SMC_LLC_ADD_LINK_CONT in flow->qentry zwischengespeichert (der bei jedem Nicht-NONE-Flow-Typ in flow->qentry speichert). Wenn anschließend ADD_LINK eintrifft, überschreibt der REQ_ADD_LINK-Zweig flow->qentry mit dem neuen Zeiger, ohne den zwischengespeicherten Speicher zuvor freizugeben, was zu einem Leck eines kmalloc-Objekts führt.
Der zwischengespeicherte Eintrag hat keinen Konsumenten: smc_llc_wait() wird nur von llc_add_link_work aufgerufen, das noch nicht geplant ist, solange der Flow-Typ REQ_ADD_LINK bleibt. Zu diesem Zeitpunkt wartet kein Warteprozess auf llc_msg_waiter. Es ist sicher, jeden zwischengespeicherten qentry bedingungslos vor dem Überschreiben freizugeben.
Rufen Sie smc_llc_flow_qentry_del() vor smc_llc_flow_qentry_set() im REQ_ADD_LINK-Zweig auf. smc_llc_flow_qentry_del() überprüft bereits flow->qentry vor der Freigabe, sodass der normale Pfad, bei dem kein Eintrag zwischengespeichert ist, eine No-Op (keine Operation) darstellt.
If you want to get best quality of vulnerability data, you may have to visit VulDB.