CVE-2026-13479 in Zephyr정보

요약

\~에 의해 VulDB • 2026. 08. 27.

LoRaWAN 애플리케이션 계층의 클록 동기화 서비스는 clock_sync_package_callback()(subsys/lorawan/services/clock_sync.c)에서 다운링크를 파싱합니다. 해당 명령어 루프는 1바이트 길이의 명령어 ID가 범위를 벗어나지 않는 것만 보장하며, CLOCK_SYNC_CMD_APP_TIME(AppTimeAns) 명령어의 핸들러는 sys_get_le32()를 통해 4바이트의 시간 보정값과 1바이트의 토큰을 읽지만, 수신 버퍼에 5바이트가 남아있는지(len - rx_pos) 확인하지 않습니다. 따라서 길이가 짧은 또는 조작된 AppTimeAns는 복호화된 페이로드 끝에서 최대 5바이트를 초과하여 읽어옵니다.

페이로드(rx_buf/len)는 등록된 다운링크 콜백(mcps_indication->Buffer/BufferSize)으로 전달되는 복호화된 애플리케이션 프레임입니다. 핸들러에 도달하려면 clock-sync 포트의 프레임이 LoRaWAN의 MAC 무결성 검사 및 FRMPayload 복호화를 통과해야 하므로, 실제 공격자는 임의의 무선 수신자가 아닌 악의적이거나 침해된 네트워크/애플리케이션 서버(AppTimeAns의 지정된 발신자) 또는 세션 키를 보유한 당사자에 한정됩니다.

과도한 읽기(over-read)는 제한적입니다: 백킹 스토어는 고정된 255바이트 정적 버퍼이므로, 몇 바이트가 벗어난다고 해서 메모리 오류(fault)가 발생하지 않으며, 읽은 값(time_correction, token)은 내부에서만 사용되고 전송되지 않으므로 공격자에게 정보가 유출되거나 크래시가 발생하지 않습니다. 유일한 영향은 ctx.req_token과 일치하는 오래된 토큰이 장치의 자체 클록 오프셋(ctx.time_offset)에 무효한 시간 보정값을 적용하여, 피해자의 시간 추정치에만 국부적인 무결성 영향을 미친다는 점입니다. 수정 패치는 너무 짧은 AppTimeAns를 삭제하기 위한 명시적 길이 검사를 추가합니다. 주기성 및 강제 재동기화 핸들러의 형제인 1바이트 읽기도 동일한 경미한 영향으로 보호되지 않은 상태로 남아 있습니다.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

책임이 있는

Zephyr

예약하다

2026. 06. 27.

모더레이션

수락

항목

VDB-395787

EPSS

0.00151

출처

Might our Artificial Intelligence support you?

Check our Alexa App!