🇰🇷 한글 설명
Linux 커널의 Bluetooth 스택에서 SO_TIMESTAMPING 기능 사용 시 sk_error_queue에 저장된 SKB(Socket Buffer)가 적절히 해제되지 않는 메모리 누수 취약점이 발견되었습니다. 컨트롤러가 예기치 않게 제거되거나 사용자 공간에서 타임스탬프를 읽지 않을 경우 메모리 누수가 발생할 수 있습니다.
💡 쉬운 설명
블루투스 기능을 사용할 때 컴퓨터의 메모리가 제대로 비워지지 않고 계속 쌓이는 문제가 있습니다. 이로 인해 시스템의 메모리가 부족해질 수 있는 결함입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: purge error queues in socket destructors
When TX timestamping is enabled via SO_TIMESTAMPING, SKBs may be queued
into sk_error_queue and will stay there until consumed. If userspace never
gets to read the timestamps, or if the controller is removed unexpectedly,
these SKBs will leak.
Fix by adding skb_queue_purge() calls for sk_error_queue in affected
bluetooth destructors. RFCOMM does not currently use sk_error_queue.
📍 영향받는 시스템
Linux kernel (Bluetooth subsystem with SO_TIMESTAMPING enabled)
⚔️ 공격 벡터
로컬 공격자가 블루투스 소켓을 생성하고 타임스탬프를 읽지 않거나 컨트롤러 연결을 반복적으로 끊어 메모리 누수를 유도함
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 Bluetooth 소켓 파괴 시 sk_error_queue를 비우도록 수정함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.