https://www.tenable.com/blog/cve-2019-11043-vulnerability-in-php-fpm-could-lead-to-remote-code-execution-on-nginx

취약점이 작동하기 위한 조건은

  1. The nginx location directive forwards requests to PHP-FPM
  2. The fastcgi_split_path_info directive is present and includes a regular expression beginning with a ‘^’ symbol and ending with a ‘$’ symbol
  3. The fastcgi_param directive is used to assign the PATH_INFO variable
  4. There are no checks in place to determine whether or not a file exists (e.g., using try_files or an if statement)

cve-2019-11043

패치된 버전은

PHP 7.3.11  PHP 7.2.24

이고 이전 버전들에 백포트는 아직 안 된 걸로 보여요(아니면 제가 모르던가)

  • profile
    try_files 쓰면 괜찮은건가요
  • profile

    우분투에서 기본 제공하는 fastcgi-php.conf에 try_files 문법이 포함되어 있으므로, 폴더 구조를 개무시하고 nginx.conf에 모든 설정을 때려박아서 사용하고 계시지만 않다면 큰 문제는 없을 것 같습니다. 지원이 끊기지 않은 버전이라면 7.0이든 7.2든 조만간 패치되겠지요. 문제는 센토스입니다. 기본 설정이 모조리 뚫려 있는 것이 센토스 종특입니다. 게다가 버전도 낡았고 업데이트도 늦지요. 어디서 블로그 보고 겨우 작동만 되는 상태로 세팅해 놓았다면 try_files고 뭐고 안전장치가 전혀 없을 가능성이 높습니다.

     

    우분투 쪽의 기본 설정이 워낙 우수하기 때문에, 저는 센토스 서버를 세팅할 때도 우분투 설정을 기반으로 커스터마이징된 설정파일을 사용하고 있습니다.

     

    PHP를 다른 곳에서 따로 구해다 사용하고 계시다면 7.1 이상은 아마 곧 패치가 되겠지만, 7.0 이하는 이미 지원이 끊긴 지 오래이므로 백포트를 기대하시면 안됩니다. 현재 7.0을 그나마 안전하게 쓸 수 있는 서버 환경은 우분투 16.04 LTS밖에 없습니다. 7.1은 올해 12월에 지원이 끊깁니다.