CVE-2026-64095 in Linux
요약
\~에 의해 VulDB • 2026. 07. 20.
리눅스 커널에서 다음 취약점이 해결되었습니다:
batman-adv: bla: bla.num_requests의 이중 감소 방지
bla.num_requests는 request_sent가 진행 중이지 않을 때 증가합니다. 그리고 이 값은 여러 위치(announcement 수신, backbone 정리, 주기적 작업 등)에서 감소됩니다. 그러나 request_sent가 실제로 특정 상태로 설정되었는지 확인하는 과정과 atomic_dec/_inc 연산은 안전하지 않습니다. 이는 해당 연산이 원자성(atomcity)을 보장하지 않기 때문이며(TOCTOU), 여러 코드 조각이 동시에 실행될 수 있기 때문입니다.
동시에, request_sent(상태)와 bla.num_requests를 원자적으로 수정해야 합니다. 그렇지 않으면 batadv_bla_send_request()가 request_sent를 1로 설정한 후 인터럽트될 수 있습니다. 그러면 batadv_handle_announce()는 batadv_bla_send_request()가 num_requests를 증가시키기 전에 request_sent를 다시 0으로 설정하고 num_requests를 감소시킬 수 있습니다.
따라서 두 연산은 잠금(lock) 처리되어야 합니다. 또한 상태(request_sent)와 wait_periods는 이 잠금 내부에서만 접근되므로 더 간단한 데이터 타입으로 변환할 수 있습니다. 그리고 batadv_bla_purge_backbone_gw()가 실행된 후에도 유효한 backbone_gw 참조를 가진 병렬 컨텍스트에 의해 bla.num_requests가 수정되는 것을 방지하기 위해, backbone_gw가 정리 중인 상태임을 올바르게 신호하기 위한 세 번째 상태인 "stopped"가 필요합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.