CVE-2017-8335 in Almond
요약
\~에 의해 VulDB • 2026. 07. 17.
Securifi Almond, Almond+, 및 AL-R096 펌웨어를 실행하는 Almond 2015 기기에서 취약점이 발견되었습니다. 이 기기는 사용자가 무선 네트워크의 이름을 설정할 수 있는 기능을 제공합니다. 이러한 값은 기기의 NVRAM(비휘발성 RAM)에 저장됩니다. 장치 이름 설정을 위해 전송되는 POST 파라미터에는 문자열 길이 검사(string length check)가 적용되지 않는 것으로 보입니다. 이를 통해 공격자는 "mssid_1" POST 파라미터를 사용하여 큰 페이로드(payload)를 보낼 수 있습니다. 또한 기기는 사용자가 설정한 Wifi 네트워크 이름을 조회할 수 있는 기능을 제공합니다. 이 요청을 처리하는 동안, 기기는 주소 0x004268A8에 위치한 "getCfgToHTML"이라는 함수를 호출하여 이전에 "mssid_1" 파라미터로 설정된 값을 SSID2로서 가져옵니다. 이 값은 해당 함수를 위해 할당된 스택(stack)을 오버플로우(overflow)시켜, 공격자가 스택 위의 $ra 레지스터(register) 값을 제어할 수 있게 합니다. 이를 통해 공격자는 원하는 페이로드(payload)를 실행하여 기기를 완전히 장악(control)할 수 있습니다. binwalk 도구를 사용하여 AL-R096 펌웨어를 분석하면, 기기 파일 시스템에 설치된 모든 바이너리(binary)를 포함하는 cpio-root 아카이브가 추출됩니다. "goahead"라는 바이너리가 POST 요청에서 값을 수신하는 취약한 함수를 포함하고 있습니다. IDA-pro에서 이 바이너리를 열면 MIPS little endian 형식을 따르는 것을 확인할 수 있습니다. IDA pro에서 sub_00420F38 함수는 주소 0x0042BA00에서 "mssid_1" POST 파라미터로 전송된 값을 수신한 후, 주소 0x0042C314의 NVRAM에 설정하는 것으로 확인됩니다. 이 값은 나중에 주소 0x00426924의 "getCfgToHTML" 함수에서 검색되며, 해당 함수가 사용하는 strcat 함수로 인해 버퍼 오버플로우(buffer overflow)가 발생합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.