
CVE-2020-8809 및 CVE-2020-8810
Gurux GXDLMS Director는 DLMS/COSEM 프로토콜을 사용하여 에너지 미터와 상호 작용하기 위한 오픈소스 Windows 프로그램입니다.
이 소프트웨어는 스마트 미터와 상호 작용하는 데 필요한 장치별 정의인 OBIS 코드가 포함된 파일뿐만 아니라 추가 기능 DLL용 원격 업데이트 기능을 제공합니다.
| CVEID | 영향을 받는 제품 및 버전 | 문제 유형 |
|---|---|---|
| CVE-2020-8809 | Gurux GXDLMS Director(8.5.1905.1301 이전의 모든 버전) | CWE-494: 무결성 검사 없는 코드 다운로드 |
| CVE-2020-8810 | Gurux GXDLMS Director(모든 버전) | CWE-23: 상대 경로 탐색 |
요약
8.5.1905.1301 이전의 모든 Gurux GXDLMS Director 버전에는 암호화되지 않은 HTTP 연결을 통해 작동하는 추가 기능 및 OBIS 코드용 업데이트 메커니즘이 포함되어 있습니다. 또한 모든 버전에는 OBIS 코드를 다운로드할 때 발생하는 경로 탐색 버그가 있습니다. 공격자는 이러한 취약점을 사용하여 코드 실행을 달성할 수 있습니다.
설명
중간자 공격자(예: 악성 Wi-Fi 네트워크 운영자)는 gurux.fi/obis/files.xml 및 gurux.fi/updates/updates.xml의 내용을 수정하여 사용자에게 업데이트를 다운로드하도록 유도할 수 있습니다. 그런 다음 공격자는 다운로드된 파일의 내용을 수정할 수 있습니다. 추가 기능의 경우(사용자가 해당 기능을 사용하는 경우) 코드 실행으로 이어집니다. OBIS 코드의 경우(사용자가 에너지 미터와 통신하는 데 필요하므로 항상 사용), 공격자는 경로 탐색 취약점을 악용하여 코드 실행을 달성할 수 있습니다.
OBIS 코드를 다운로드할 때 프로그램은 다운로드된 파일이 실제 OBIS 코드인지 확인하지 않으며 경로 탐색도 검사하지 않습니다. 이를 통해 공격자는 실행 파일을 보내 자동 실행 디렉터리(재부팅 후 실행)에 배치하거나 기존 GXDLMS Director 설치 내부에 DLL을 배치(다음 GXDLMS Director 실행 시 실행)할 수 있습니다. 이는 사용자가 추가 기능을 설치하지 않은 경우에도 코드 실행을 달성하는 데 사용될 수 있습니다.
재현
obis라는 디렉터리를 만듭니다.obis/files.xml 파일을 만듭니다.<files>
<file modified=”28-09-2099″ name=”Iskraemeco”>../../../../../../../../../../Users/Public/Documents/test.txt</file>
</files>
Users/Public/Documents 디렉터리를 만듭니다.Users/Public/Documents/test.txt 파일을 만듭니다.C:\Windows\system32\drivers\etc\hosts 파일을 편집하고 다음 줄을 추가합니다: 127.0.0.1 gurux.fi (HTTP 서버가 Windows 머신과 동일하지 않은 경우 127.0.0.1을 서버의 IP로 바꿉니다).C:\Users\Public\Documents\에 이제 test.txt 파일이 포함되어 있는지 확인합니다.해결 방법
Gurux GXDLMS Director를 최신 버전으로 업데이트합니다.