🇰🇷 한글 설명
DJI CrystalSky ZS600C 펌웨어 v0.3.9.7부터 v0.6.6.9까지의 Android 기기에서, 네이티브 바인더 서비스 'android.dji.server'(트랜잭션 코드 1018)에 권한 검사가 누락되어 있습니다. 이로 인해 권한이 없는 로컬 앱이 root 권한의 'assistant' 데몬을 통해 임의의 OS 명령을 실행할 수 있습니다. 핸들러가 호출자가 전달한 문자열을 검증 없이 system()에 넘기기 때문입니다.
💡 쉬운 설명
권한이 전혀 없는 일반 앱도 이 기기에서 관리자(root) 권한으로 명령을 실행할 수 있습니다. 공격자가 이를 악용하면 기기 전체를 장악할 수 있습니다.
🇺🇸 원문 (English)
Missing authorization in the native binder service 'android.dji.server' (transaction code 1018) in DJI CrystalSky ZS600C firmware v0.3.9.7 through v0.6.6.9 on Android allows a local application with no permissions to execute arbitrary OS commands as root, because the handler passes a caller-supplied string to system() in the root-privileged 'assistant' daemon without any caller-identity or permission check.
📍 영향받는 시스템
DJI CrystalSky ZS600C, 펌웨어 v0.3.9.7 ~ v0.6.6.9 (Android)
⚔️ 공격 벡터
권한이 없는 악성 로컬 앱이 바인더 트랜잭션 1018을 호출해 root 데몬의 system()으로 임의 명령을 주입
🛡️ 대응 방법
DJI가 제공하는 최신 펌웨어로 업데이트하고, 해당 바인더 핸들러에 호출자 권한 검사 및 입력 검증을 적용
🔧 검증 코드
펌웨어 빌드 ID가 취약 범위(v0.3.9.7~v0.6.6.9)에 해당하는지 확인하고, 'android.dji.server' 서비스가 존재하면 해당 기기는 취약할 가능성이 있으므로 패치 여부를 점검
getprop ro.build.display.id 2>/dev/null; dumpsys -l 2>/dev/null | grep -i dji