cveboard Feed RSS

CVE-2025-40061

CVE.org · Publicado

Histórico de CVEsJSONInstruções para IA

Status do registro
Publicado
Ano do identificador (não é o ano de publicação)
2025
Publicação na fonte
Atualização na fonte
Importado pelo cveboard
Snapshot da fonte
cve_2026-10-24_midnight_baseline ·

Texto simples

Texto da CNA em inglês

RDMA/rxe: Fix race in do_task() when draining

In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix race in do_task() when draining When do_task() exhausts its iteration budget (!ret), it sets the state to TASK_STATE_IDLE to reschedule, without a secondary check on the current task->state. This can overwrite the TASK_STATE_DRAINING state set by a concurrent call to rxe_cleanup_task() or rxe_disable_task(). While state changes are protected by a spinlock, both rxe_cleanup_task() and rxe_disable_task() release the lock while waiting for the task to finish draining in the while(!is_done(task)) loop. The race occurs if do_task() hits its iteration limit and acquires the lock in this window. The cleanup logic may then proceed while the task incorrectly reschedules itself, leading to a potential use-after-free. This bug was introduced during the migration from tasklets to workqueues, where the special handling for the draining case was lost. Fix this by restoring the original pre-migration behavior. If the state is TASK_STATE_DRAINING when iterations are exhausted, set cont to 1 to force a new loop iteration. This allows the task to finish its work, so that a subsequent iteration can reach the switch statement and correctly transition the state to TASK_STATE_DRAINED, stopping the task as intended.

Fatos de produtos e versões por escopo

Dados de correção desconhecidos; nenhuma versão corrigida é deduzida aqui. Dados ausentes não comprovam ausência de correção.

Exploração desconhecida; este catálogo não avalia exploração.

Linux

Fornecedor
Linux
Produto
Linux
Plataformas
Desconhecido
Status padrão
unaffected
Linux · Fatos de produtos e versões por escopo
Versão (version)Status (status)Esquema de versões (versionType)Fim exclusivo (lessThan)Fim inclusivo (lessThanOrEqual)Mudanças de status (at → status)
9b4b7c1f9f54120940e243251e2b1407767b3381affectedgit85288bcf7ffe11e7b036edf91937bc62fd384076IndisponívelNenhuma listada
9b4b7c1f9f54120940e243251e2b1407767b3381affectedgit52edccfb555142678c836c285bf5b4ec760bd043IndisponívelNenhuma listada
9b4b7c1f9f54120940e243251e2b1407767b3381affectedgit660b6959c4170637f5db2279d1f71af33a49e49bIndisponívelNenhuma listada
9b4b7c1f9f54120940e243251e2b1407767b3381affectedgit8ca7eada62fcfabf6ec1dc7468941e791c1d8729IndisponívelNenhuma listada

Linux

Fornecedor
Linux
Produto
Linux
Plataformas
Desconhecido
Status padrão
affected
Linux · Fatos de produtos e versões por escopo
Versão (version)Status (status)Esquema de versões (versionType)Fim exclusivo (lessThan)Fim inclusivo (lessThanOrEqual)Mudanças de status (at → status)
6.5affectedIndisponívelIndisponívelIndisponívelNenhuma listada
0unaffectedsemver6.5IndisponívelNenhuma listada
6.6.112unaffectedsemverIndisponível6.6.*Nenhuma listada
6.12.53unaffectedsemverIndisponível6.12.*Nenhuma listada
6.17.3unaffectedsemverIndisponível6.17.*Nenhuma listada
6.18unaffectedoriginal_commit_for_fixIndisponível*Nenhuma listada