Katalog CVE

CVE-2026-90108

Niskie ryzyko· EPSS 10%
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.21%

Percentyl 10 - wyżej niż 10% wszystkich znanych CVE

Streszczenie

W jądrze Linux w podsystemie SMC (net/smc) podczas przejścia lokalnego przepływu LLC z SMC_LLC_FLOW_REQ_ADD_LINK do SMC_LLC_FLOW_ADD_LINK funkcja smc_llc_flow_qentry_set() jest wywoływana bezwarunkowo. Wcześniej odłożony wpis qentry (z CONFIRM_LINK lub ADD_LINK_CONT) jest nadpisywany bez zwolnienia, co powoduje wyciek jednego obiektu kmalloc.

Ocena ryzyka

Powtarzalny wyciek pamięci jądra może prowadzić do stopniowego wyczerpania pamięci i ostatecznie do odmowy usługi. Ryzyko dotyczy systemów korzystających z SMC.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką. Monitoruj zużycie pamięci jądra na systemach z aktywnym ruchem SMC.

Inne podatności w Linux kernel (net/smc)

Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: net/smc: free stashed qentry before overwrite in REQ_ADD_LINK to ADD_LINK transition When smc_llc_event_handler() transitions the local LLC flow from SMC_LLC_FLOW_REQ_ADD_LINK to SMC_LLC_FLOW_ADD_LINK on arrival of an ADD_LINK request, it calls smc_llc_flow_qentry_set() unconditionally: 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); ... } A CONFIRM_LINK or ADD_LINK_CONT arriving while flow->type is SMC_LLC_FLOW_REQ_ADD_LINK is stashed into flow->qentry via the SMC_LLC_CONFIRM_LINK / SMC_LLC_ADD_LINK_CONT handler (which stores into flow->qentry for any non-NONE flow type). When the subsequent ADD_LINK arrives, the REQ_ADD_LINK branch overwrites flow->qentry with the new pointer without first freeing the stashed allocation, leaking one kmalloc object. The stashed entry has no consumer: smc_llc_wait() is only called from llc_add_link_work, which is not yet scheduled while the flow type remains REQ_ADD_LINK. No waiter is sleeping on llc_msg_waiter at this point. It is safe to unconditionally free any stashed qentry before the overwrite. Call smc_llc_flow_qentry_del() before smc_llc_flow_qentry_set() in the REQ_ADD_LINK branch. smc_llc_flow_qentry_del() already checks flow->qentry before freeing, so the normal path where no entry is stashed is a no-op.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS