🇰🇷 한글 설명
Contiki-NG 운영체제 4.8 및 이전 버전에서 ICMP DAO 패킷을 처리할 때 패킷 버퍼 크기를 검증하지 않는 취약점이 발견되었습니다. 공격자가 ICMP 패킷을 잘라내어 전송할 경우, dao_input_storing 함수에서 최대 16바이트의 경계 외 읽기(Out-of-bounds read)가 발생할 수 있습니다.
💡 쉬운 설명
사물인터넷(IoT) 기기용 운영체제가 들어오는 데이터의 크기를 제대로 확인하지 않아 발생하는 문제입니다. 공격자가 일부러 짧은 데이터를 보내면 시스템이 허용되지 않은 메모리 영역을 읽어 들여 오류를 일으킬 수 있습니다.
🇺🇸 원문 (English)
Contiki-NG is an operating system for internet of things devices. In version 4.8 and prior, when processing ICMP DAO packets in the `dao_input_storing` function, the Contiki-NG OS does not verify that the packet buffer is big enough to contain the bytes it needs before accessing them. Up to 16 bytes can be read out of bounds in the `dao_input_storing` function. An attacker can truncate an ICMP packet so that it does not contain enough data, leading to an out-of-bounds read on these lines. The problem has been patched in the "develop" branch of Contiki-NG, and is expected to be included in release 4.9. As a workaround, one can apply the changes in Contiki-NG pull request #2435 to patch the system.
📍 영향받는 시스템
Contiki-NG OS version 4.8 and prior
⚔️ 공격 벡터
조작되거나 잘린(truncated) ICMP DAO 패킷을 전송하여 경계 외 읽기 유도
🛡️ 대응 방법
Contiki-NG 4.9 버전으로 업데이트하거나, Pull Request #2435의 패치를 수동으로 적용
🔧 검증 코드
소스 코드 내 해당 함수 존재 여부와 현재 사용 중인 Contiki-NG의 태그 버전을 확인하여 4.8 이하인지 판단
grep -r "dao_input_storing" /path/to/contiki-ng/src/ && git describe --tags
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
💻 영향받는 소프트웨어
IBM Security Verify Access