CVE-2024-36971 in Linuxinformação

Sumário

de VulDB • 10/06/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

net: corrige a condição de corrida em __dst_negative_advice()

__dst_negative_advice() não aplica as regras adequadas de RCU quando sk->dst_cache deve ser limpo, o que pode levar a um Use-After-Free (UAF).

As regras do RCU determinam que devemos primeiro limpar sk->sk_dst_cache e, em seguida, chamar dst_release(old_dst).

Observe que sk_dst_reset(sk) implementa esse protocolo corretamente, enquanto __dst_negative_advice() utiliza a ordem incorreta.

Considerando que ip6_negative_advice() possui lógica especial contra RTF_CACHE, isso significa que cada um dos três métodos ->negative_advice() existentes deve executar sk_dst_reset() por conta própria.

Observe que a verificação contra dst NULL é centralizada em __dst_negative_advice(), não havendo necessidade de duplicá-la em vários callbacks.

Muitos agradecimentos a Clement Lecigne por identificar este problema.

Este bug antigo tornou-se visível após o commit responsável, ao utilizar sockets UDP.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Fontes

Do you know our Splunk app?

Download it now for free!