← 아티클 목록
업데이트phplaravel업데이트

PHP 7.3.11 업데이트 — 한국 Laravel 개발자 영향 분석

작성: 라라벨 코리아 (초안)

발행: 2026년 8월 6일

## 요약

요약

PHP 7.3.11은 2019년 10월 24일 릴리스된 보안 패치 버전으로, PHP-FPM에서 원격 코드 실행(RCE)이 가능한 심각한 취약점(CVE-2019-11043)이 포함되어 있습니다. 해당 취약점은 Nginx + PHP-FPM 환경에서 특정 조건이 충족될 경우 공격자가 서버를 장악할 수 있는 수준의 위험도를 가지므로, 현재 PHP 7.3.x를 사용 중인 모든 Laravel 프로젝트에서 즉각적인 업그레이드가 요구됩니다.


핵심 내용

🚨 CVE-2019-11043: PHP-FPM 원격 코드 실행 취약점 (최고 위험)

  • 버그 번호: #78599
  • 영향 컴포넌트: FPM (fpm_main.c)
  • 취약점 유형: env_path_info 언더플로우(underflow)로 인한 RCE
  • CVE 식별자: CVE-2019-11043
  • 수정자: Jakub Zelenka

이 취약점은 Nginx에서 특정 잘못된 FastCGI 설정과 함께 PHP-FPM을 사용할 때 공격자가 원격에서 임의 코드를 실행할 수 있는 조건을 만들 수 있습니다. Laravel 애플리케이션 대부분이 Nginx + PHP-FPM 조합으로 운영되는 점을 감안할 때, 이 취약점의 파급력은 매우 큽니다.

⚠️ 주의: 공개된 PoC(Proof of Concept) 익스플로잇이 존재하는 것으로 알려져 있어, 패치 적용 지연 시 실제 공격 피해로 이어질 수 있습니다.


그 외 주요 보안 관련 수정

컴포넌트버그 번호내용
MBString#78633힙 버퍼 오버플로우(읽기) in mb_eregi
PCRE#78272preg_match() 호출 후 pcntl_fork() 실행 시 자식 프로세스 동결
MySQLi#76809영구 연결(persistent connection) 사용 시 SSL 설정이 무시되는 버그
Mysqlnd#78525PDO에서 네이티브 prepared statement 재사용 시 메모리 누수

Laravel 애플리케이션에 직접 영향을 줄 수 있는 버그 수정

  • FPM #78413: fastcgi_finish_request() 이후 request_terminate_timeout이 적용되지 않는 버그 수정

    • Laravel에서 응답 완료 후 후처리 작업(예: 이메일 발송, 로그 기록 등)을 수행할 때 타임아웃이 제대로 동작하지 않던 문제가 해결됩니다.
  • MBString #78609: mb_check_encoding()이 Stringable 객체를 더 이상 지원하지 않던 문제 수정

    • Laravel의 Stringable 헬퍼 및 __toString() 구현 객체와 함께 mb_check_encoding()을 사용하는 코드에서 발생하던 오류가 해결됩니다.
  • Mysqlnd #78525: PDO에서 네이티브 prepared statement 재사용 시 메모리 누수 수정

    • Eloquent ORM이 내부적으로 PDO와 prepared statement를 광범위하게 사용하므로, 장기 실행 Laravel 애플리케이션 또는 대용량 쿼리 환경에서 메모리 안정성이 개선됩니다.
  • Standard #76342: file_get_contents()가 지정된 타임아웃의 두 배를 대기하던 버그 수정

    • 외부 API 호출이나 원격 파일 읽기 시 예상보다 긴 지연이 발생하던 문제가 해결됩니다. Guzzle HTTP 클라이언트를 우회하여 file_get_contents()를 직접 사용하는 코드에 영향이 있습니다.
  • PDO_MySQL #78623: 저장 프로시저(SP) 호출 시 빈 결과 집합이 추가로 반환되던 회귀 버그 수정

  • Session #78624: 사용자 정의 세션 핸들러에서 session_gc의 반환값 처리 수정

    • 커스텀 세션 드라이버를 구현한 Laravel 애플리케이션에 영향을 줄 수 있습니다.

한국 Laravel 개발자에게 미치는 영향

호환성 및 보안 긴급도

  • 긴급도: 매우 높음 — CVE-2019-11043은 실제 공격 코드가 공개되어 있으며, 특히 Nginx + PHP-FPM 스택을 사용하는 환경에서 즉각적인 위협이 됩니다.
  • PHP 7.3.10 이하 모든 버전이 영향을 받으며, 7.3.11로의 업그레이드만이 공식적인 해결책입니다.
  • PHP 7.2.x 및 7.1.x 계열 사용자도 해당 CVE에 노출될 수 있으므로 각 브랜치의 최신 보안 패치 여부를 반드시 확인해야 합니다.

Laravel Valet 사용자

  • macOS 환경에서 Laravel Valet을 사용 중이라면 PHP 버전 업그레이드 후 Valet을 재연결해야 합니다.
# Homebrew를 통한 PHP 업그레이드brew upgrade php@7.3# Valet 재연결valet use php@7.3valet restart

Laravel Sail / Docker 사용자

  • docker-compose.yml 또는 Dockerfile에서 PHP 이미지 태그를 7.3.11 이상으로 명시적으로 업데이트해야 합니다.
  • php:7.3-fpm 같은 부동(floating) 태그를 사용 중이라면 이미지를 강제로 pull하여 최신 상태를 확인하세요.
# Sail 환경에서 이미지 재빌드docker pull php:7.3-fpm./vendor/bin/sail build --no-cache./vendor/bin/sail up -d

공유 호스팅 / cPanel 환경 (한국 호스팅 업체)

  • 카페24, 가비아, 닷홈 등 국내 공유 호스팅 환경을 사용하는 경우 호스팅 제공자의 PHP 버전 업데이트 지원 여부를 직접 확인해야 합니다.
  • 관리자 패널에서 PHP 버전 선택이 가능한 경우 즉시 7.3.11 이상으로 변경하세요.
  • 버전 변경이 불가능한 경우 호스팅 업체에 보안 패치 적용을 요청하거나 이전을 검토하세요.

마이그레이션 난이도

  • 낮음 — 이 릴리스는 버그 수정 및 보안 패치만 포함하며 하위 호환성을 깨는 변경 사항(breaking change)은 없습니다. 7.3.x에서 7.3.11로의 업그레이드는 드롭인(drop-in) 교체 수준입니다.

실무 체크리스트

로컬 개발 환경

  • 현재 PHP 버전 확인: php -v
  • 패키지 매니저를 통해 PHP 7.3.11로 업그레이드
    • macOS (Homebrew): brew upgrade php@7.3
    • Ubuntu/Debian: sudo apt-get update && sudo apt-get install php7.3
  • Laravel Valet 사용 시: valet restart 실행 후 valet php 버전 재확인
  • Laravel Sail 사용 시: Docker 이미지 재빌드 및 컨테이너 재시작

스테이징 환경

  • PHP 업그레이드 후 php -v로 버전 확인
  • PHP-FPM 서비스 재시작: sudo systemctl restart php7.3-fpm
  • Laravel 전체 기능 스모크 테스트 실행
  • PHPUnit 테스트 스위트 실행: php artisan test
  • DB 연결 및 Eloquent 쿼리 정상 동작 확인 (PDO/MySQLnd 수정 사항 검증)
  • 세션 기반 기능 동작 확인 (로그인, 장바구니 등)
  • 파일 업로드 기능에서 EXIF 처리를 사용하는 경우 동작 확인
  • mb_ 함수 사용 코드 회귀 테스트 (MBString 관련 수정)

프로덕션 환경

  • 즉시 PHP 7.3.11 업그레이드 적용 (CVE-2019-11043 RCE 취약점으로 인해 지연 불가)
  • Nginx 설정 검토 — FastCGI 파라미터 설정에서 불필요한 PATH_INFO 관련 설정이 있는지 확인
  • PHP-FPM 재시작 후 에러 로그 모니터링: tail -f /var/log/php7.3-fpm.log
  • Laravel 로그 모니터링: tail -f storage/logs/laravel.log
  • 배포 후 애플리케이션 주요 엔드포인트 헬스체크 수행
  • 웹 방화벽(WAF) 또는 IDS를 운영 중인 경우 CVE-2019-11043 관련 룰셋 업데이트 확인
  • Opcache 캐시 클리어: php artisan opcache:clear 또는 PHP-FPM 재시작

📌 참고: 이 문서는 검토를 위한 초안입니다. CVE-2019-11043의 구체적인 Nginx 설정 취약 조건 및 최신 익스플로잇 동향은 php.net 공식 릴리스 페이지 및 보안 권고 채널을 통해 추가로 확인하시기 바랍니다.