
Cassia 게이트웨이 펌웨어에서 검증되지 않은 queueUrl 매개변수를 통한 원격 코드 실행을 시연하며, 인증되지 않은 공격자가 루트 권한으로 bash 명령을 주입할 수 있게 합니다.
이 저장소는 Dodge Industrial Team이 Dodge OPTIFY 플랫폼에서 발견한 CVE-2023-31446에 대한 설명을 포함합니다.
CVE ID: CVE-2023-31446
공급업체: Cassia Networks
제품: Cassia Gateway Firmware
버전: <2.1.1.230309*
취약점: 원격 코드 실행/원격 코드 삽입
영향: 게이트웨이
설명: /bypass/config의 queueUrl 매개변수가 삭제(샌티타이즈)되지 않습니다. 이로 인해 bash 코드를 주입하고 장치 시작 시 루트 권한으로 실행할 수 있습니다.
상태: 공급업체 확인, 수정됨
패치 버전: 2.1.1.230720*
Cassia는 과거에 게이트웨이가 블루투스 스캔 데이터를 Amazon SQS 서비스로 푸시할 수 있도록 하는 기능을 구현했습니다.
언급된 기능의 설정은 API 엔드포인트를 통해 설정할 수 있습니다:
http:///bypass/config?type=sqs&keyId=<"keyId">&key=<"keysecret">&queueUrl=<"queueServiceUrl">
조사에 따르면 SQS 기능은 장치 부팅 시 서비스를 시작합니다.
서비스는 구성 파일을 로드하며, 여기서 언급된 엔드포인트가 설정을 덮어씁니다.
서비스는 지정된 URL을 로드한 후 루트 bash 관점에서 nslookup을 실행하므로 URL 매개변수에 포함된 모든 명령을 실행할 수 있습니다.
엔드포인트에 대한 접근은 기본적으로 인증되지 않습니다. 더욱이 이 기능은 공식 Cassia 문서에 설명되어 있지 않았습니다.
공격자는 queueUrl 매개변수에 bash 명령 ${id}를 포함할 수 있습니다:

장치를 재부팅하면 게이트웨이는 루트 권한으로 명령을 실행합니다(A,AAA 쿼리 참조):

Gateway -> Default Gateway (Linux) -> Internet