10년된 PHP-FPM 로컬 권한 상승 취약점 발견

Last Updated: 2021년 11월 08일 | , | 댓글 남기기
10년된 PHP-FPM 로컬 권한 상승 취약점 발견

보안 전문가들이 PHP에 영향을 미치는 PHP-FPM의 로컬 권한 상승 취약점(local privilege escalation vulnerability) 때문에 많은 수백만 개의 웹사이트가 위험에 처할 수 있다고 경고하고 나섰습니다. 해당 취약점은 루트 FPM 프로세스가 SHM(공유 메모리)에 위치한 포인터를 사용하여 임의의 위치에 읽기/쓰기를 가능하게 하여 www-data에서 root로 권한 상승이 되도록 합니다. 이 취약점은 10년 동안 존재해왔다고 합니다.

10년된 PHP-FPM 로컬 권한 상승 취약점 발견 - 구성에서 PHP-FPM이 활성화된 시스템에만 영향을 미침

PHP는 워드프레스(WordPress), 드루팔(Drupal), 줌라(Joomla) 등을 포함하여 웹 사이트의 78.4%에 사용되고 있습니다. 해외 리눅스 관련 블로그에 10년 동안 존재한 PHP-FPM에서 발견된 취약점에 대한 글이 올라왔습니다("10-Year-Old PHP-FPM Local Privilege Escalation Vulnerability Discovered" 참고).

이 보안 문제의 영향을 받는 PHP 버전은 7.3.x ~ 7.3.31, 7.4x ~ 7.4.25 미만, 8.0.x ~ 8.0.12 미만으로 기본 root로 실행하는 FPM daemon 프로세스와 더 낮은 권한의 사용자로 실행하는 child worker 프로세스로 PHP-FPM SAPI를 실행할 때 문제가 된다고 합니다.

취약한 PHP 버전을 이용하고 있는지 궁금하다면: Apache와 PHP를 사용하고 있는 경우 PHP-FPM을 사용하고 있을 수 있습니다. 확실히 하려면 Apache가 PHP를 모듈 또는 PHP-FPM을 통해 실행하는지 서버에서 체크해야 합니다. 하지만 NGINX와 PHP를 사용하고 있다면 PHP-FPM을 사용하고 있으므로 취약할 수 있습니다.

다행히 이 취약점은 PHP 버전 8.0.12 및 7.4.25에서 수정되었습니다. 취약점이 존재하는 PHP-FPM 버전을 실행하고 있다면 즉시 해당 릴리스 브랜치에서 가장 높은 버전으로 업데이트하시기 바랍니다.

참고로 2021년 7월 기준으로 전세계 PHP 버전별 점유율을 살펴보면 PHP 7.4가 46.8%로 가장 많이 사용되고 있고 PHP 7.3이 19.2%, PHP 8.0이 14.7%로 그 뒤를 따르고 있습니다.

2021년 PHP 버전 점유율

워드프레스에서 PHP 버전 확인하기

워드프레스에서는 관리자 페이지 > 도구 > 사이트 건강 > 정보 > 서버 섹션에서 PHP 버전을 확인할 수 있습니다.

저는 체크해보니 PHP 8.0.12 버전으로 버그가 수정된 버전이네요.

워드프레스 PHP 버전 확인

마치며

리눅스 커뮤니티를 둘러보다 PHP-FPM에 존재하는 취약점 발견 소식을 접하게 되어 이 블로그에 소개해보았습니다. 이 취약점은 2021년 10월 21일에 PHP.NET 사람들에 의해 패치가 되었다고 합니다.

워드프레스를 운영하는 경우 가급적 PHP 7.4 이상을 이용하는 것이 좋습니다. PHP 7.3은 2021년 12월 6일까지 보안 지원이 제공된다고 합니다. 낮은 PHP 버전을 사용할 경우 최신 워드프레스가 설치되지 않거나 업데이트가 되지 않을 수 있고, 구 버전의 워드프레스를 사용하면 보안에도 문제가 될 수 있습니다.

권한 상승 취약점(Privilege Escalation Vulnerability)은 사용자가 관리자가 의도한 정도보다 더 많은 권한, 시스템이나 애플리케이션에 대한 더 높은 접근 권한을 획득할 수 있는 보안 문제로, 완전한 익스플로잇 체인을 만드는 데 필요하지만, SS(Severity Score)가 낮아 개발자나 방어자가 간과하는 경우가 많기 때문에 공격자에게 가치가 있는 취약점이 된다고 합니다("권한 상승이 공격자에게 중요한 취약점인 이유" 참고).

참고


댓글 남기기

Leave a Comment