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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.3.6이 2019년 5월 30일에 릴리즈되었으며, EXIF, GD, Iconv 확장에서 발견된 심각한 보안 취약점(CVE) 3건이 포함된 보안 패치 업데이트입니다. Laravel 프로젝트에서 이미지 처리, 문자 인코딩, JSON 직렬화 등을 사용하는 경우 즉각적인 업그레이드가 권장됩니다. PHP 7.3 계열을 운영 중인 한국 Laravel 개발자라면 이 업데이트를 최우선으로 적용해야 합니다.


핵심 내용

🔐 보안 취약점 (CVE) — 즉시 패치 필요

PHP 7.3.6에는 다음 3건의 CVE가 포함되어 있습니다.

CVE확장취약점 유형영향
CVE-2019-11040EXIFheap-buffer-overflow (php_jpg_get16)원격 코드 실행 가능성
CVE-2019-11038GD초기화되지 않은 메모리 읽기 (gdImageCreateFromXbm)정보 노출
CVE-2019-11039Iconv정수 오버플로우로 인한 범위 외 읽기 (iconv.c)정보 노출, 서비스 거부

CVE-2019-11040 (EXIF) 은 JPEG 파일 처리 중 heap-buffer-overflow를 유발합니다. 사용자가 이미지를 업로드하는 Laravel 애플리케이션(예: intervention/image, 파일 업로드 폼)에서 공격자가 악의적으로 조작된 JPEG 파일을 업로드할 경우 서버 메모리에 영향을 줄 수 있습니다.

CVE-2019-11039 (Iconv)iconv.c_php_iconv_mime_decode() 함수에서 정수 오버플로우로 인한 범위 외 읽기입니다. 한국어 다국어 처리에 iconv 또는 mbstring과 함께 Iconv 확장을 사용하는 경우 직접 영향을 받을 수 있습니다.


🐛 주요 버그 수정 (기능 안정성)

JSON — Use After Free 수정 (Bug #77843)

  • JSON 직렬화 시 메모리 해제 후 재사용(Use After Free) 버그가 수정되었습니다.
  • Laravel의 response()->json(), Eloquent 모델의 toJson(), API 리소스(JsonResource) 등 JSON 직렬화를 광범위하게 사용하는 환경에서 간헐적 크래시나 예기치 않은 동작이 발생했을 가능성이 있습니다.

Opcache — PCRE 캐시 충돌로 인한 크래시 수정

  • Opcache SHM 리셋과 PCRE 캐시 불일치로 인한 잠재적 크래시가 수정되었습니다.
  • PHP-FPM 환경에서 opcache_reset() 또는 재시작 후 간헐적으로 발생하던 세그멘테이션 오류의 원인 중 하나였을 수 있습니다.

PHP-FPM — USR2 시그널 미작동 수정 (Bug #77934)

  • kill -USR2로 PHP-FPM을 우아하게(graceful) 재시작하는 명령이 동작하지 않던 버그가 수정되었습니다.
  • 무중단 배포(zero-downtime deploy) 스크립트에서 kill -USR2 $(cat /var/run/php-fpm.pid) 패턴을 사용하는 경우 이 버그로 인해 재시작이 실패했을 수 있습니다.

SQLite — open_basedir 우회 취약점 수정 (Bug #77967)

  • file:// URI를 통해 open_basedir 제한을 우회할 수 있던 버그가 수정되었습니다.
  • SQLite3를 사용하는 Laravel 프로젝트(.envDB_CONNECTION=sqlite)에서 보안 샌드박싱 설정이 있는 경우 해당됩니다.

SOAP — SoapClient 세그멘테이션 오류 수정 (Bug #77945)

  • WSDL_CACHE_BOTH 옵션으로 SoapClient를 생성할 때 세그멘테이션 오류가 발생하던 문제가 수정되었습니다.
  • 외부 SOAP API와 연동하는 레거시 Laravel 프로젝트에 영향이 있습니다.

Standard — strip_tags() 출력 변경 수정 (Bug #78003)

  • PHP 7.3 업그레이드 이후 strip_tags() 동작이 변경되었던 문제가 수정되어 이전 버전과 일관된 동작으로 복원되었습니다.
  • 블레이드 템플릿이나 헬퍼 함수에서 strip_tags()를 사용하는 경우 확인이 필요합니다.

cURL — 누락된 상수 추가 (FR #72189)

  • CURL_VERSION_* 상수들이 추가되었습니다. Laravel의 HTTP 클라이언트(Http::get() 등)는 내부적으로 cURL을 사용하므로, cURL 버전 감지 로직을 직접 작성한 경우 이 상수들을 활용할 수 있습니다.

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

보안 영향도

영역위험도설명
이미지 업로드 기능🔴 높음CVE-2019-11040: EXIF 처리 시 heap overflow. intervention/image 또는 Storage::put() 기반 업로드 모두 해당
한국어 인코딩 처리🟠 중간CVE-2019-11039: iconv 사용 시 EUC-KR ↔ UTF-8 변환 등에 영향 가능
JSON API 서비스🟠 중간Bug #77843: Use After Free — API 서버 안정성 직결
PHP-FPM 무중단 배포🟡 낮음(운영 영향)Bug #77934: USR2 시그널 미동작 — CI/CD 파이프라인 배포 실패 가능

로컬 개발 환경별 체크

Laravel Valet (macOS)

  • Homebrew의 PHP 버전을 확인하고 업그레이드합니다.
  • brew upgrade php@7.3 또는 brew upgrade shivammathur/php/php@7.3 (커뮤니티 탭 사용 시)
  • 업그레이드 후 valet restart 필수

Laravel Sail (Docker)

  • docker/8.x 또는 docker/7.4 기반 이미지를 사용하는 경우 PHP 7.3 기반 커스텀 이미지를 사용한다면 베이스 이미지 업데이트가 필요합니다.
  • docker-compose pull && docker-compose up -d --build

운영 서버 (Linux, PHP-FPM)

  • CentOS/RHEL: Remi 저장소를 통해 yum update php73 또는 dnf update php73
  • Ubuntu/Debian: apt-get update && apt-get upgrade php7.3
  • 업그레이드 후 systemctl restart php7.3-fpm 실행

⚠️ 참고: PHP 7.3은 현재(2025년 기준) 공식 지원이 종료된 버전입니다. 이 릴리즈는 역사적 참조용이며, 실제 운영 환경에서는 PHP 8.2 이상으로의 마이그레이션을 강력히 권고합니다.


실무 체크리스트

로컬 환경

  • php -v 명령으로 현재 PHP 버전 확인
  • Valet 사용 시: brew upgrade shivammathur/php/php@7.3valet restart
  • Sail 사용 시: Dockerfile의 PHP 베이스 이미지 버전 확인 및 재빌드
  • php -r "echo PHP_VERSION;" 으로 업그레이드 반영 확인

스테이징 환경

  • PHP 패키지 업그레이드 후 php-fpm -t 로 설정 문법 검증
  • strip_tags() 를 사용하는 기능의 출력 결과 회귀 테스트
  • JSON API 엔드포인트 E2E 테스트 실행
  • 이미지 업로드 기능 테스트 (JPEG, TIFF 포함)
  • SOAP 연동이 있다면 WSDL_CACHE_BOTH 옵션으로 SoapClient 생성 테스트
  • kill -USR2 $(cat /run/php/php7.3-fpm.pid) 로 PHP-FPM graceful restart 동작 확인

운영(Production) 환경

  • 배포 전 반드시 스테이징에서 검증 완료
  • 서버 패키지 매니저로 PHP 7.3.6 업그레이드 (OS별 패키지 저장소 확인)
  • PHP-FPM 재시작: systemctl restart php7.3-fpm
  • 재시작 후 에러 로그 모니터링: tail -f /var/log/php7.3-fpm.log
  • Opcache 상태 확인: php -r "var_dump(opcache_get_status());"
  • APM 또는 Sentry 등 에러 모니터링 도구에서 이상 여부 실시간 확인
  • 이미지 업로드 관련 CDN 또는 S3 연동 동작 확인
  • 배포 스크립트에서 kill -USR2 사용 시 정상 동작 검증

장기 마이그레이션 권고

  • PHP 7.3 EOL(End of Life) 확인: 2021년 12월 6일 이미 지원 종료
  • composer require --dev bamarni/php-boyscout 등의 도구로 PHP 8.x 호환성 사전 점검
  • rector/rector를 활용한 자동 코드 마이그레이션 검토
  • PHP 8.1 또는 8.2로의 업그레이드 로드맵 수립