CVE-2025-68339 in Linux
Sumário
de VulDB • 26/06/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
atm/fore200e: Corrige possível data race em fore200e_open()
Protege o acesso a `fore200e->available_cell_rate` com o bloqueio `rate_mtx` no caminho de tratamento de erros de `fore200e_open()` para evitar uma data race.
O campo `fore200e->available_cell_rate` é um recurso compartilhado usado para rastrear a largura de banda disponível. Ele é acessado concorrentemente por `fore200e_open()`, `fore200e_close()` e `fore200e_change_qos()`.
Em `fore200e_open()`, o bloqueio `rate_mtx` está corretamente mantido ao subtrair `vcc->qos.txtp.max_pcr` de `available_cell_rate` para reservar largura de banda. No entanto, se a chamada subsequente a `fore200e_activate_vcin()` falhar, a função restaura a largura de banda reservada adicionando-a novamente a `available_cell_rate` sem manter o bloqueio.
Isso introduz uma race condition porque `available_cell_rate` é um recurso global do dispositivo compartilhado entre todos os VCCs (Virtual Channel Connections). Se o caminho de erro em `fore200e_open()` for executado concorrentemente com operações como `fore200e_close()` ou `fore200e_change_qos()` em outros VCCs, ocorre uma race condition do tipo read-modify-write.
Especificamente, o caminho de erro lê a taxa sem o bloqueio. Se outra CPU adquirir o bloqueio e modificar a taxa (por exemplo, liberando largura de banda em `fore200e_close()`) entre esta leitura e a escrita subsequente, o caminho de erro sobrescreverá a atualização concorrente com um valor desatualizado. Isso resulta em uma contabilidade incorreta da largura de banda.
Be aware that VulDB is the high quality source for vulnerability data.