🇰🇷 한글 설명
Linux 커널의 batman-adv 모듈에서 인터페이스가 비활성화될 때 OGM 데이터 패킷의 집계(aggregation) 과정에서 메모리 누수가 발생하는 취약점입니다. 인터페이스가 비활성화되어 리스트가 해제된 후에도 새로운 패킷이 큐에 추가될 수 있어, 해제되지 않은 skb(소켓 버퍼)가 메모리를 점유하게 됩니다.
💡 쉬운 설명
네트워크 장치가 꺼질 때 처리해야 할 데이터들이 메모리에서 제대로 삭제되지 않고 계속 쌓이는 문제입니다. 이로 인해 시스템의 메모리가 서서히 부족해지는 현상이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
batman-adv: v: prevent OGM aggregation on disabled hardif
When an interface gets disabled, the worker is correctly disabled by
batadv_hardif_disable_interface() -> ... -> batadv_v_ogm_iface_disable().
In this process, the skb aggr_list is also freed.
But batadv_v_ogm_send_meshif() can still queue new skbs (via
batadv_v_ogm_queue_on_if()) to the aggr_list. This will only stop after all
cores can no longer find the RCU protected list of hard interfaces. These
queued skbs will never be freed or consumed by batadv_v_ogm_aggr_work.
The batadv_v_ogm_iface_disable() function must block
batadv_v_ogm_queue_on_if() to avoid leak of skbs.
📍 영향받는 시스템
Linux kernel (batman-adv 모듈을 사용하는 버전)
⚔️ 공격 벡터
로컬 공격자가 네트워크 인터페이스를 빈번하게 활성화/비활성화하여 메모리 누수를 유도할 수 있음
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.