CVE-2021-47199 in Linux
Résumé
par VulDB • 30/05/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
net/mlx5e : CT, Correction de multiples allocations et de fuites de mémoire dans les actions de modification (mod acts)
La désactivation de l'action de vidage de CT (CT clear action offload) ajoute des actions de modification d'en-tête (mod hdr actions) supplémentaires aux actions de modification originales du flux afin de vider les registres contenant l'état CT (ct_state). Lorsqu'un tel flux comprend également une action d'encapsulation, un événement de mise à jour de la table de voisinage (neigh update event) peut amener le pilote à désactiver le traitement hors noyau (unoffload) du flux, puis à le réactiver (reoffload).
Chaque fois que cela se produit, la gestion du vidage de CT ajoute à nouveau le même ensemble d'actions de modification d'en-tête pour réinitialiser l'état CT, jusqu'à ce que le nombre maximal d'actions de modification d'en-tête soit atteint.
De plus, le pilote ne libère jamais les actions de modification d'en-tête allouées, ce qui provoque une fuite de mémoire.
La correction de ces deux problèmes consiste à déplacer l'allocation des actions de modification pour le vidage de CT (CT clear mod acts) vers la phase d'analyse des actions (parsing actions) et à ne l'utiliser que lors du traitement hors noyau de la règle. La libération des actions de modification sera effectuée dans le flux normal de flow_put().
trace de pile (backtrace) : [] krealloc+0x83/0xd0
[] mlx5e_mod_hdr_alloc+0x147/0x300 [mlx5_core]
[] mlx5e_tc_match_to_reg_set_and_get_id+0xd7/0x240 [mlx5_core]
[] mlx5e_tc_match_to_reg_set+0xa/0x20 [mlx5_core]
[] mlx5_tc_ct_entry_set_registers.isra.0+0x36/0xc0 [mlx5_core]
[] mlx5_tc_ct_flow_offload+0x272/0x1f10 [mlx5_core]
[] mlx5e_tc_offload_fdb_rules.part.0+0x150/0x620 [mlx5_core]
[] mlx5e_tc_encap_flows_add+0x489/0x690 [mlx5_core]
[] mlx5e_rep_update_flows+0x6e4/0x9b0 [mlx5_core]
[] mlx5e_rep_neigh_update+0x39a/0x5d0 [mlx5_core]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.