Study/CVE

CVE-2021-21311 [adminer]

Omoknooni 2023. 6. 1. 11:29
CVE-2021-21311 [adminer Server-Side Request Forgery]

요약 : 로그인 시 에러메시지를 통해 SSRF Exploit 가능

 

오픈소스 데이터베이스 관리 툴인 Adminer는 단일 PHP페이지로 구성되어있다.

4.7.9 버전부터 패치가 되었음 (patch commit)

Adminer는 각 데이터베이스에 로그인할 수 있는 모듈을 각각 별도로 제작함

취약점이 발생되는 구간은 ElasticSearch Clickhouse 로그인 모듈, 로그인 오류 시 나타나는 에러메시지를

통해서 내부 서버의 자원에 접근할 수 있음

 

취약한 버전

Adminer 4.0.0 ~ 4.7.8

 

선행조건

없음

 

 

분석

1. 취약한 환경 구성

Victim : ubuntu 22.04 / apache 2.4.52 / php 8.1.2 / Adminer 4.7.8 + tomcat

SSRF 취약점을 검증하기 위해 외부로 open되지 않은 내부 서비스를 임의로 생성해줌 (tomcat)

 

 

2. Exploit

Exploit 시나리오는 아래와 같음

  1. 공격자가 들어오는 request를 임의의 host로 redirect해 줄 수 있는 개인 서버(A)를 오픈
  2. Victim 서버의 취약한 Adminer를 찾아 공격자의 서버(A)로 로그인을 하게 함
  3. Adminer는 공격자의 서버로 접속을 시도, 공격자의 서버는 해당 request를 임의의 host로 redirect해 줌

공격자가 들어오는 request를 redirect해주는 서버를 open한다

 

이후, 공격자가 open해둔 redirect 서버로 연결 시도

adminer가 공격자의 redirect서버로 접근, redirect되어 localhost:8080을 접근하게 됨

Victim 서버 내부의 open되어있지 않은 서비스로 접근했음을 확인

 

Mitigation

- Application 버전 업그레이드 (해당 취약점의 경우 4.7.9에 patch됨)