지난 주, Dawid Golunski라는 폴란드 해커가 MySQL의 취약점, 즉 원격 루트 코드 실행 취약점과 권한 상승 취약점을 발견했습니다. 당시 Golunski는 첫 번째 취약점에 대한 개념 증명만 제공했지만 나중에 두 번째 취약점(CVE-2016-6663)에 대한 자세한 내용을 공개하겠다고 약속했습니다.
화요일에 Golunski는 두 가지 취약점에 대한 PoC를 발표했습니다. 첫 번째 PoC는 이전의 고위험 권한 상승 취약점을 표적으로 삼고, 다른 PoC는 새로운 루트 권한 상승 취약점을 표적으로 삼아 공격자가 이 취약점을 악용할 수 있습니다. 전체 데이터베이스에 대한 액세스.
취약점 번호
CVE-2016-6663
CVE-2016-6664
취약점 영향
MySQL 버전
MySQL 파생 제품: Percona Server, MariaDB
취약점 소개
권한 에스컬레이션/경합 조건 취약점(CVE-2016-6663)
이번 주에 발표된 두 가지 취약점 중 더 심각한 것은 낮은 권한 계정(CREATE/INSERT/SELECT 권한 포함)을 허용할 수 있는 경쟁 조건 취약점입니다. ) 시스템 사용자로서 권한을 승격하고 임의 코드를 실행합니다.
취약점이 악용되면 해커는 데이터베이스 서버의 모든 데이터베이스를 성공적으로 탈취할 수 있습니다.
루트 권한 상승(CVE-2016-6664)
또 다른 취약점은 루트 권한 상승 취약점입니다. 이 취약점을 사용하면 MySQL 시스템 사용자 권한을 가진 공격자가 추가 작업을 위해 권한을 루트로 상승시킬 수 있습니다. 전체 시스템을 공격합니다.
이 문제의 원인은 실제로 MySQL의 오류 로그 및 기타 파일 처리가 충분히 안전하지 않기 때문입니다. 이러한 파일은 임의의 시스템 파일로 대체되어 루트 권한을 얻기 위해 악용될 수 있습니다.
이 취약점은 앞서 언급한 권한 상승 취약점과 함께 사용하는 것이 더 좋습니다. 해커는 먼저 권한 상승 취약점(CVE-2016-6663)을 사용하여 일반 사용자를 시스템 사용자로 승격시킨 다음 루트 권한을 사용하여 상승합니다. 취약점(CVE-2016-6664)은 루트 사용자를 대상으로 추가로 악용되었습니다.
이러한 모든 취약점은 공유 환경에서 악용될 수 있습니다. 공유 환경에서 사용자는 별도의 데이터베이스에 액세스할 수 있습니다. 이러한 취약점을 통해 해커는 모든 데이터베이스에 액세스할 수 있습니다.
취약성 PoC
Golunski는 취약점 1과 취약점 2의 두 가지 취약점에 대한 PoC 코드를 공개했습니다.
MySQL은 지난달 분기별 업데이트를 통해 취약점을 모두 수정하고 패치를 공개했습니다.
수정 솔루션
웹마스터는 가능한 한 빨리 패치를 설치하는 것이 좋습니다. 패치를 즉시 설치할 수 없는 경우 데이터베이스에서 심볼릭 링크 지원을 끄는 임시 솔루션을 사용할 수 있습니다. my.cnf의 서버 구성(Set Symbolic-Links = 0).