Wins Security Information

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2020-10549] rConfig SQL Injection
작성일 2021-04-16 조회 189

WINS MOBILE

 

rConfig 3.9.4 이하의 버전에서 SQL Injection 취약점이 존재합니다.
 
rConfig는 PHP 기반의 오픈소스 네트워크 기기 구성 관리 유틸리티로, 예약 관리 작업, 정책 모니터링, 네트워크 장치에 대한 시스템 백업 및 보고 등의 기능을 지원합니다.
 
해당 취약점은 /compliancepolicies.inc.php 경로의 searchField 파라미터의 유효성 검사가 충분하지 않아 발생합니다.
 
공격 성공 시, 원격의 공격자는 SQL쿼리를 조작하여 DB에 접근할 수 있습니다.

 

 

취약점 설명

 

NVD - CVE-2020-10546

CVSS v2.0 Severity and Metrics:

Base Score: 7.5 HIGH

 

 

[그림1. NVD 내역]

 

 

 

취약점 분석

 

취약점은 /compliancepolicies.inc.php 파일에서 발생합니다.

 

compliancepolicies.php가 HTTP 요청을 수신할 때 요청을 처리하기 위해 다른 PHP 스크립트compliancepolicies.inc.php를 불러오게 되는데, 요청을 처리할 때 다음과 같은 SQL 구문을 생성하게 됩니다.

 

WHERE status = 1 AND [searchColumn] [searchOption] [searchField] ...

 

[searchColumn]은 HTTP 요청의 searchColumn 매개변수 값이며, 동시에 snippets 데이터베이스의 테이블 이름입니다.

 

[searchOption]은 SQL 연산자 "LIKE", "NOT LIKE", "=", 혹은 빈 문자열 중 하나입니다.

 

[searchField]는 searchField 매개변수 값에서 파싱됩니다.

 

compliancepolicies.inc.php는 SQL WHERE절을 구성하기 전에 searchColumn 및 searchField 매개변수를 검증하지 않습니다. 

 

따라서 공격자는 HTTP 요청의 searchColumn 또는 searchField 매개 변수에 임의의 SQL 명령을 포함하여 테이블을 생성, 조회하거나 삭제할 수 있습니다.

 

기본적으로 rConfig는 사용자가 /compliancepolicies.php에 액세스하기 위한 인증을 필요로 하지만, /compliancepolicies.inc.php에 대한 액세스는 제한하지 않기 때문에, 인증되지 않은 공격자는 /compliancepolicies.inc.php 페이지를 통해 공격을 수행할 수 있습니다.

 

 

공격 분석

 

CVE-2020-10546의 공격 패킷은 다음과 같습니다.

[그림2. 공격 패킷]

 

공격 성공 시, 임의의 코드 실행 및 정보 유출이 발생할 수 있습니다.

 

 

취약점 대응 방안

 

1. 최신 버전 사용

rConfig 3.9.x 버전 패치가 중단되었기 때문에 rConfig v5로 업데이트한다.

https://www.rconfig.com/#whyrconfig

 

 

2. WINS Sniper 제품군 대응 방안

 

[5404] rConfig compliancepolicies.inc.php searchField SQL Injection

 

첨부파일 첨부파일이 없습니다.
태그 CVE-2020-10546  rConfig  SQL Injection