🇰🇷 한글 설명
Contiki-NG 운영체제의 BLE L2CAP 모듈에서 NULL 포인터 역참조 취약점이 발견되었습니다. 공격자가 특수하게 조작된 패킷을 주입하면 시스템이 존재하지 않는 채널 ID를 처리하는 과정에서 NULL 포인터를 참조하여 정의되지 않은 동작을 유발할 수 있습니다.
💡 쉬운 설명
블루투스 연결을 처리하는 과정에서 잘못된 신호를 받았을 때, 시스템이 존재하지 않는 정보를 참조하려다 오류를 일으키는 문제입니다. 이로 인해 기기가 오작동하거나 멈출 수 있습니다.
🇺🇸 원문 (English)
Contiki-NG is an open-source, cross-platform operating system for Next-Generation IoT devices. Versions prior to 4.9 contain a NULL Pointer Dereference in BLE L2CAP module. The Contiki-NG operating system for IoT devices contains a Bluetooth Low Energy stack. An attacker can inject a packet in this stack, which causes the implementation to dereference a NULL pointer and triggers undefined behavior. More specifically, while processing the L2CAP protocol, the implementation maps an incoming channel ID to its metadata structure. In this structure, state information regarding credits is managed through calls to the function input_l2cap_credit in the module os/net/mac/ble/ble-l2cap.c. Unfortunately, the input_l2cap_credit function does not check that the metadata corresponding to the user-supplied channel ID actually exists, which can lead to the channel variable being set to NULL before a pointer dereferencing operation is performed. The vulnerability has been patched in the "develop" branch of Contiki-NG, and will be included in release 4.9. Users can apply the patch in Contiki-NG pull request #2253 as a workaround until the new package is released.
📍 영향받는 시스템
Contiki-NG 4.9 미만 버전
⚔️ 공격 벡터
조작된 BLE L2CAP 패킷 주입을 통한 원격 공격
🛡️ 대응 방법
Contiki-NG 4.9 버전으로 업데이트하거나, Pull Request #2253의 패치를 적용하십시오.
🔧 검증 코드
출력된 버전이 4.9 미만인 경우 해당 취약점에 노출되어 있을 가능성이 높습니다.
git describe --tags 2>/dev/null || echo 'Version unknown'