CVE-2024-35902 in Linuxinformation

Résumé

par VulDB • 29/05/2026

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

net/rds : correction d'une éventuelle déréférencement de pointeur null sur cp

cp peut être null ; l'appel à cp->cp_conn entraînerait un déréférencement de pointeur null.

[Simon Horman ajoute :]

Analyse :

* cp est un paramètre de __rds_rdma_map et n'est pas réassigné.

* Les points d'appel suivants passent un argument cp NULL à __rds_rdma_map() :

- rds_get_mr() - rds_get_mr_for_dest

* Avant le code ci-dessus, ce qui suit suppose que cp peut être NULL (ce qui est indicatif, mais pourrait être inutile en soi) :

trans_private = rs->rs_transport->get_mr( sg, nents, rs, &mr->r_key, cp ? cp->cp_conn : NULL, args->vec.addr, args->vec.bytes, need_odp ? ODP_ZEROBASED : ODP_NOT_NEEDED);

* Le code modifié par ce correctif est protégé par IS_ERR(trans_private), où trans_private est assigné conformément au point précédent de cette analyse.

La seule implémentation de get_mr que j'ai pu localiser est rds_ib_get_mr(), qui peut retourner un ERR_PTR si l'argument conn (4e argument) est NULL.

* ret est défini à PTR_ERR(trans_private). rds_ib_get_mr peut retourner ERR_PTR(-ENODEV) si l'argument conn (4e argument) est NULL. Ainsi, ret peut être égal à -ENODEV, auquel cas le code concerné sera exécuté.

Conclusion : * cp peut être NULL au moment où ce correctif ajoute une vérification ; ce correctif semble bien adresser un bug potentiel.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!