Oracle 원격 진단 에이전트 명령 인젝션 취약점
2018. 3. 13. 16:43Oracle RDA (Remote Diagnostics Agent)는 오라클 제품의 분석 및 지원을 제공하는 일련의 데이터 수집 및 진단 스크립트 제공 Command-Line 진단 도구 입니다. RDA는 Oracle Fusion Middleware 및 WebLogic Server에 기본적으로 설치 됩니다.
현재 RDA에 명령 인젝션 취약점이 발견 됬습니다. OsUtils 웹 서비스 클래스는 HTTP 매개 변수에 대한 적절한 필터링을 가지고 있지 않기 때문에 명령 인젝션 취약점이 발생합니다. 공격자는 특정 HTTP Post 요청을 보내 공격할 대상 서버에서 임의의 명령을 실행할 수 있습니다.
오라클 제품에 대한 스캔 명령을 실행하기 위해 RDA 는 웹제어 패널을 통해 스캐닝 어플리케이션을 호출하고, 네이티브 어플리케이션을 이용하여 명령을 이행합니다.
oracle_database.xml, oracle_dbmachine.xml 및 oracle_si_supercluster.xml과 같은 여러 XML 구성 파일 내에 사전 정의 된 명령 템플릿 세트가 있습니다. 예를 들면 아래와 같습니다.
<command_args><![CDATA[run_tool=-nXTfa collect -h %%hrs_since%%]]></command_args>
위의 예에서와 같이 명령 매게 변수는 필터링 없이 HTTP 매개 변수에서 동적으로 할당 될 수 있습니다.
공격자는 “,” 이전 명령을 닫고, 임의의 명령을 주입하여 명령 인젝션 취약점을 유발합니다.
이 취약점의 원인 OsUtils 클래스를 살펴보면 다음과 같습니다.
SonicWall Capture Labs 위협 연구 팀은 공격을 식별하고 방어하기 위해 다음 서명을 개발 했습니다.
IPS 13196: Oracle Support Tools Command Injection
WAF 1676: Oracle WebLogic Remote Diagnosis Assistant rda_tfa_hrs Command Injection