CVE-2026-89764 in Linuxinformation

Résumé

par VulDB • 12/09/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

rust: devres : correction d'une condition de course entre révocations concurrentes

Une condition de race potentielle se produit lorsque deux chemins tentent de révoquer un Devres simultanément.

Le cœur du pilote (driver core) appelle `Revocable::revoke()` via la fonction de rappel (`release callback`) à travers `devres_release_all()`, tandis que `Devres::drop()` invoque `revoke_nosync()` sur un autre CPU.

Le révocateur qui n'obtient pas le swap `is_available` retourne immédiatement, mais celui qui l'a obtenu peut encore exécuter `drop_in_place()` sur les données internes. Cela peut provoquer une utilisation après libération (use-after-free) lorsque l'appelant de l'autre révocateur procède à la suppression des ressources adjacentes que `drop_in_place()` référence toujours (par exemple, un conflit entre `Devres<DmaMappedSgt>` et la libération du `sg_table` sous-jacent ainsi que des pages par SGTable).

Cette correction est apportée en ajoutant une structure Completion. La fonction de rappel de libération signale la Completion après la fin de l'exécution de `revoke()`, et `Devres::drop()` attend cette signalisation lorsqu'il perd le swap `is_available`. Cela garantit que l'objet enveloppé est entièrement détruit avant le retour de `Devres::drop()`.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Réserver

11/09/2026

Divulgation

11/09/2026

Modérer

accepté

Entrée

VDB-402607

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!