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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.3.9는 2019년 8월 29일에 릴리스된 보안 및 버그 수정 업데이트입니다. FPM의 Use-after-free 취약점, MBString의 CVE(Oniguruma CVE-2019-13224 포함), Exif 크래시 등 다수의 안정성·보안 문제가 수정되었습니다. Laravel 애플리케이션을 PHP 7.3 계열에서 운영 중인 한국 개발자라면 이번 패치를 가능한 빠르게 적용하는 것이 권장됩니다.


핵심 내용

🔒 보안 관련 수정

버그 번호영역내용CVE
#78380MBStringOniguruma 6.9.3 CVE 수정CVE-2019-13224
#77185FPMUse-after-free (master event handling)-
#78333ExifBus error (잘못된 정렬 및 캐스트)-

참고: CVE-2019-13224는 Oniguruma 정규표현식 라이브러리의 다형성 Use-after-free로, 원격 코드 실행(RCE) 가능성이 있는 심각한 취약점입니다. mb_* 계열 함수를 사용하는 Laravel 애플리케이션은 즉시 업그레이드를 검토해야 합니다.


🐛 주요 버그 수정 (7.3.9)

Core

  • #78363zendparse 의 버퍼 오버플로우 수정. 파싱 중 크래시를 유발할 수 있었던 문제입니다.
  • #78379 — 객체 캐스트 시 GC(가비지 컬렉터)를 혼란시켜 크래시를 일으키던 버그 수정.
  • #78412 — Generator가 $this를 GC 자식으로 잘못 보고하던 문제 수정.

Curl

  • #77946curl_multi_info_read()가 잘못된 cURL 리소스를 반환하던 문제 수정. HTTP 클라이언트 라이브러리(Guzzle 등)를 사용하는 Laravel 프로젝트에 영향을 미칠 수 있습니다.

FPM

  • #77185 — FPM 마스터 이벤트 핸들링의 Use-after-free 수정. 프로덕션 PHP-FPM 환경에서 비정상 종료를 유발할 수 있는 중요한 수정입니다.

MySQLnd

  • #78179 — MariaDB 서버 버전이 잘못 감지되던 문제 수정.
  • #78213 — 빈 행 포켓 버그 수정. MariaDB를 데이터베이스로 사용하는 경우 쿼리 결과에 영향을 줄 수 있습니다.

Opcache

  • #77191 — 오류 억제 연산자(@) 사용 시 dce_live_ranges() Assertion 실패 수정.

Standard

  • #78346strip_tags()가 중첩된 PHP 태그를 올바르게 처리하지 못하던 문제 수정.
  • #78326stream_get_contents()에서 고정 길이 버퍼 사용 시 메모리 해제 오류 수정.
  • #78282atimemtime 불일치 수정.

📦 이전 마이너 버전(7.3.4 ~ 7.3.8) 누적 보안 수정 요약

7.3.5 이상에서 순차적으로 적용된 CVE들로, 7.3.9 이전 버전을 그대로 사용 중이라면 아래 항목들도 모두 미적용 상태입니다.

버전CVE영역위험도
7.3.8CVE-2019-11041EXIF힙 버퍼 오버플로우
7.3.8CVE-2019-11042EXIF힙 버퍼 오버플로우
7.3.6CVE-2019-11038GD초기화되지 않은 읽기
7.3.6CVE-2019-11039Iconv정수 오버플로우로 인한 OOB 읽기
7.3.6CVE-2019-11040EXIF힙 버퍼 오버플로우
7.3.5CVE-2019-11036EXIF힙 버퍼 오버플로우
7.3.4CVE-2019-11034EXIF힙 버퍼 오버플로우
7.3.4CVE-2019-11035EXIF힙 버퍼 오버플로우
7.3.9CVE-2019-13224MBStringUse-after-free (RCE 가능)

EXIF 관련 CVE가 집중적으로 발견되었습니다. exif_read_data(), Intervention/Image 등 이미지 처리 기능을 사용하는 Laravel 프로젝트는 반드시 업데이트가 필요합니다.


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

Laravel 버전 호환성

  • PHP 7.3.x는 Laravel 5.8 ~ 7.x 를 지원합니다. 이번 수정은 PHP 레벨의 패치이므로 Laravel 버전 업그레이드 없이도 적용 가능합니다.
  • Laravel 6.x(LTS) 또는 7.x 사용자라면 PHP 7.3.9로의 업그레이드만으로 보안 혜택을 받을 수 있습니다.

주요 영향 시나리오

① 이미지 업로드/처리 기능이 있는 경우 (높은 위험)

  • Intervention/Image, league/flysystem, S3 연동 등에서 EXIF 파싱을 사용하는 경우 다수의 EXIF CVE에 노출됩니다.
  • 사용자가 직접 이미지를 업로드하는 서비스(커뮤니티, 쇼핑몰, SNS 등)는 즉시 패치 적용을 권장합니다.

② 한국어 처리에 MBString을 사용하는 경우 (높은 위험)

  • 한국어 웹 서비스 특성상 mb_strlen(), mb_substr(), mb_detect_encoding() 등 MBString 함수 사용이 많습니다.
  • CVE-2019-13224(Oniguruma Use-after-free)는 정규표현식 패턴 처리 중 발생할 수 있으며, 외부 입력값을 MBString 정규표현식으로 처리한다면 심각한 위협이 됩니다.

③ MariaDB 사용자

  • 국내 많은 호스팅/IDC 환경에서 MySQL 대신 MariaDB를 사용합니다. #78179(MariaDB 버전 감지 오류) 수정으로 버전별 기능 분기 로직이 있는 경우 동작이 달라질 수 있습니다.

④ PHP-FPM + Nginx 환경 (높은 위험)

  • 국내 서버 환경 대부분이 Nginx + PHP-FPM 조합을 사용합니다. FPM 마스터 이벤트 핸들링의 Use-after-free(#77185)는 트래픽이 높은 환경에서 FPM 프로세스 비정상 종료를 유발할 수 있습니다.

로컬 개발 도구별 안내

Laravel Valet (macOS)

# Homebrew를 통해 PHP 업그레이드brew upgrade php@7.3valet restartphp --version  # 7.3.9 

Laravel Sail / Docker

  • php:7.3.9-fpm 공식 이미지를 사용하도록 docker-compose.yml 또는 Dockerfile의 베이스 이미지 태그를 갱신합니다.
  • php:7.3-fpm (latest 7.3)으로 설정된 경우 docker pull로 최신 이미지를 받아오면 자동 반영됩니다.

Ubuntu/Debian (Ondřej PPA)

sudo apt-get updatesudo apt-get install --only-upgrade php7.3php --version

실무 체크리스트

로컬 환경

  • 현재 PHP 버전 확인: php --version
  • 7.3.9 미만이라면 패키지 매니저(Homebrew, apt 등)를 통해 업그레이드
  • Valet 사용 시 valet restart 후 버전 재확인
  • Docker 사용 시 베이스 이미지 태그 업데이트 후 docker-compose build --no-cache

스테이징 환경

  • PHP 업그레이드 후 php-fpm 서비스 재시작: sudo systemctl restart php7.3-fpm
  • Laravel 애플리케이션 전체 기능 회귀 테스트 실행: php artisan test
  • 이미지 업로드/처리 기능 집중 테스트 (EXIF 관련 수정)
  • MariaDB 사용 시 DB 쿼리 동작 정상 여부 확인
  • mb_* 함수 사용 코드 정상 동작 확인 (특히 정규표현식 관련)
  • Opcache 설정 활성화 환경에서 오류 없이 동작하는지 확인
  • curl_multi_* 사용하는 비동기 HTTP 처리 테스트 (Guzzle 병렬 요청 등)

프로덕션 환경

  • 배포 전 스테이징에서 최소 24시간 이상 모니터링 완료 확인
  • 배포 시간대: 트래픽이 적은 새벽 시간대 권장
  • PHP-FPM 재시작 전 php-fpm -t로 설정 파일 문법 검사
  • 업그레이드 후 PHP-FPM 재시작: sudo systemctl reload php7.3-fpm (무중단 graceful reload)
  • 업그레이드 직후 에러 로그 모니터링: tail -f /var/log/php7.3-fpm.log
  • Laravel 애플리케이션 로그 이상 여부 확인: storage/logs/laravel.log
  • Opcache 캐시 초기화: php artisan opcache:clear 또는 FPM 재시작으로 대체
  • 모니터링 도구(Sentry, New Relic, 데이터독 등)에서 에러율 이상 급증 여부 확인

보안 우선순위 판단 기준

즉시 적용 필요 ★★★
- 사용자 이미지 업로드 기능이 있는 서비스
- 외부 입력값을 mb_ereg* 등으로 처리하는 서비스
- PHP-FPM 기반 고트래픽 서비스

가능한 빠르게 적용 ★★
- MariaDB를 사용하는 모든 서비스
- curl_multi_* 사용 서비스

정기 배포 사이클에 포함 ★
- 위 조건에 해당하지 않는 내부 서비스

⚠️ 드래프트 검토 참고사항: CVE-2019-13224의 RCE 가능성 언급은 Oniguruma 공식 보안 공지 기준이며, 실제 익스플로잇 가능성은 PHP의 메모리 관리 및 환경에 따라 다를 수 있습니다. 보안 담당자와 함께 영향도를 별도로 평가하시기 바랍니다. MariaDB 버전 감지 수정(#78179)의 실제 동작 변화는 사용 중인 MariaDB 버전에 따라 다를 수 있으므로, 스테이징에서 반드시 검증 후 배포하십시오.