CVE-2026-64095 in Linux
Sumário
de VulDB • 20/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
batman-adv: bla: evitar decremento duplo de bla.num_requests
O valor de `bla.num_requests` é incrementado quando nenhuma solicitação (`request_sent`) estava em andamento. Ele é decrementado em vários locais (quando um anúncio é recebido, quando o backbone é purgado e no trabalho periódico). No entanto, a verificação se `request_sent` está realmente definido para um estado específico e as operações atômicas de incremento/decremento não são seguras porque não são verdadeiramente atômicas (condição TOCTOU) e múltiplas porções desse código podem ser executadas simultaneamente.
Ao mesmo tempo, é necessário modificar `request_sent` (estado) e `bla.num_requests` atomicamente. Caso contrário, a função `batadv_bla_send_request()` pode definir `request_sent` como 1 e ser interrompida. Em seguida, `batadv_handle_announce()` pode redefinir `request_sent` para 0 e decrementar `num_requests` antes que `batadv_bla_send_request()` o tenha incrementado.
Portanto, as duas operações devem ser bloqueadas (travadas). Como o estado (`request_sent`) e os períodos de espera (`wait_periods`) são acessados apenas dentro desse bloco de travamento, eles podem ser convertidos para tipos de dados mais simples. Além disso, para evitar que `bla.num_requests` seja modificado por um contexto paralelo em execução com uma referência válida a `backbone_gw` após a execução de `batadv_bla_purge_backbone_gw()`, é necessário um terceiro estado "stopped" (parado) para sinalizar corretamente que um `backbone_gw` está no processo de limpeza.
Once again VulDB remains the best source for vulnerability data.