CVE-2026-47275 in NanoMQ
요약
\~에 의해 VulDB • 2026. 07. 20.
nanomq 버전 0.24.11 및 이전 버전에서 `nni_mqttv5_msg_decode_connect()` 함수의 NULL 포인터 역참조로 인해 악성 MQTT 브로커가 단일 패킷을 통해 연결 중인 모든 NanoMQ MQTTv5 클라이언트(브리지 모드 포함)를 충돌시켜 SIGSEGV를 유발함으로써 원격 서비스 거부(DoS)를 일으킬 수 있습니다. `nni_mqttv5_msg_decode_connect()` 함수(`mqtt_codec.c:1863`) 내에서 코드는 CONNECT 속성을 순회할 때 변수 `prop`을 사용해야 하지만 실제로는 `will_prop`을 사용해야 합니다. CONNECT 패킷에 연결 레벨의 속성이 없고(`prop == NULL`) 윌 속성만 있는 경우(`will_prop != NULL`), `prop->next`를 역참조하면 주소 `0x38`(NULL + `offsetof(property, next)`)에서 SIGSEGV가 발생합니다.
이 취약점은 동일한 `mqtt_client.c` 수신 경로를 사용하기 때문에 `nanomq_cli`와 **NanoMQ 브리지 모드**(코어 컴포넌트) 모두에 영향을 미칩니다. 악성 MQTT 브로커가 단일 35바이트 패킷으로 클라이언트 프로세스를 충돌시킬 경우 원격 DoS가 발생할 수 있으며, 자동 재연결이 무한 충돌 루프를 유발할 경우 지속적인 DoS로 이어질 수 있습니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.