🇰🇷 한글 설명
Linux 커널의 batman-adv 모듈에서 종료 과정 중 tp_meter 카운터가 언더플로우되는 취약점이 발견되었습니다. 이로 인해 카운터가 음수가 되면 전송 스레드가 무한 루프에 빠지게 되며, 인터페이스 제거 시 Use-After-Free 오류를 유발할 수 있습니다.
💡 쉬운 설명
네트워크 연결을 종료할 때 숫자를 계산하는 과정에서 오류가 발생하여 시스템이 멈추거나 충돌할 수 있는 문제입니다. 이 오류로 인해 시스템의 메모리 관리 기능이 오작동할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
batman-adv: fix tp_meter counter underflow during shutdown
batadv_tp_sender_shutdown() unconditionally decrements the "sending"
atomic counter. If multiple paths (e.g. timeout, user cancel, and
normal finish) call this function, the counter can underflow to -1.
Since the sender logic treats any non-zero value as "still sending",
a negative value causes the sender kthread to loop indefinitely.
This leads to a use-after-free when the interface is removed while
the zombie thread is still active.
Fix this by using atomic_xchg() to ensure the counter only transitions
from 1 to 0 once.
[sven: added missing change in batadv_tp_send]
📍 영향받는 시스템
Linux kernel (batman-adv 모듈을 사용하는 시스템)
⚔️ 공격 벡터
네트워크 인터페이스의 비정상적인 종료 또는 다중 경로를 통한 종료 프로세스 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 atomic_xchg()가 적용된 수정본을 사용하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.