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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.3.13은 2019년 12월 19일 릴리스된 보안 패치 버전으로, CVE가 부여된 다수의 취약점을 포함하여 EXIF, Bcmath, Core, Standard 등 광범위한 영역의 버그를 수정합니다. Laravel 애플리케이션을 PHP 7.3 계열에서 운영 중인 한국 개발자라면 즉시 업그레이드를 검토해야 합니다. 이 버전은 단순 버그픽스가 아닌 원격 코드 실행(RCE) 가능성을 포함한 심각한 취약점 수정을 포함하고 있습니다.


핵심 내용

🔴 보안 취약점 (CVE) 목록

PHP 7.3.13에서 수정된 CVE 지정 취약점은 다음과 같습니다:

CVE대상 모듈설명심각도
CVE-2019-11046Bcmathbc_shift_addsub() 내 버퍼 언더플로우중간
CVE-2019-11044Core (Windows)link() 함수에서 null 바이트 이후 경로 묵시적 절단중간
CVE-2019-11045CoreDirectoryIterator에서 null 바이트 이후 경로 묵시적 절단중간
CVE-2019-11049Coremail() 함수에서 refcount==1 문자열 이중 해제높음
CVE-2019-11050EXIF메모리 sanitizer 환경에서 use-after-free높음
CVE-2019-11047EXIF힙 버퍼 오버플로우(읽기)높음

⚠️ 주의: 이전 릴리스(7.3.11)에서 수정된 CVE-2019-11043 (PHP-FPM RCE 취약점)은 이미 매우 높은 심각도로 분류된 바 있습니다. 7.3.13으로 아직 업그레이드하지 않은 경우, 해당 취약점에도 여전히 노출된 상태입니다.


🟠 주목할 비-CVE 버그 수정 (7.3.13)

  • Core: __autoload() 호출 시 잘못된 EG(fake_scope) 값 사용 → 오토로딩 오작동 가능 (Laravel 자동 로딩 체계 영향 가능)
  • Core: Trait이 상속된 private shadow 프로퍼티를 오버라이드할 때 세그멘테이션 폴트
  • OPcache: ASLR 관련 잘못된 opline 핸들러 이슈 수정, (bool)$x 최적화 버그 수정
  • Standard: strip_tags()에서 태그명에 / 허용으로 인한 화이트리스트 우회 가능 → 입력값 필터링 로직에 영향
  • Standard: implode($GLOBALS) 호출 시 크래시
  • Standard: pack() 함수의 정수 오버플로우로 인한 경계 외 접근
  • PCRE: preg_match()가 1을 초과하는 정수값 반환 가능 → 조건 분기 오류 유발 위험
  • MBString: Oniguruma 정규식 엔진 6.9.4로 업그레이드 (이전 버전 CVE 대응 포함)

📋 누적 주요 수정 이력 요약 (7.3.9 ~ 7.3.12 포함)

7.3.13 이전 릴리스에서도 Laravel 개발자에게 중요한 수정이 포함되어 있었습니다:

  • CVE-2019-11043 (7.3.11): PHP-FPM fpm_main.cenv_path_info 언더플로우로 인한 원격 코드 실행(RCE) — Nginx + PHP-FPM 조합 환경에서 실제 익스플로잇이 공개된 심각한 취약점
  • CVE-2019-13224 (7.3.9): Oniguruma의 CVE 수정 (MBString)
  • CVE-2019-11041/11042 (7.3.8): EXIF 힙 버퍼 오버플로우 2건
  • OpenSSL (7.3.12): TLS HTTP 요청이 다른 암호화 연결에 영향을 주는 문제 수정 → HTTPS API 클라이언트(Http 파사드, Guzzle) 사용 시 중요
  • MySQLi (7.3.11): persistent connection 사용 시 SSL 설정이 무시되는 버그 수정 → DB 보안 연결 환경에서 중요
  • OPcache (7.3.12): non-ASCII 문자가 포함된 파일의 체크섬 오산 문제 → 한국어 주석/문자열이 포함된 PHP 파일에서 캐시 불일치 발생 가능

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

Nginx + PHP-FPM 환경 (가장 일반적인 한국 서버 구성)

CVE-2019-11043은 Nginx + PHP-FPM 환경에서만 트리거되는 RCE 취약점입니다. 한국 서버 환경에서 매우 보편적인 이 스택을 사용 중이라면, 7.3.10 미만 버전은 즉각적인 업그레이드 또는 Nginx 설정 수정이 필요합니다.

# 취약점 완화를 위한 Nginx 설정 (업그레이드 전 임시 조치) # fastcgi_split_path_info 사용 시 PATH_INFO 검증 필수 fastcgi_param PATH_INFO $fastcgi_path_info; # fastcgi_param 블록에서 PATH_INFO가 비어있는 요청 차단 권고

Laravel Sail / Docker 환경

  • sail 사용 시 기반 PHP 이미지 태그를 확인하세요. php:7.3-fpm 공식 이미지의 경우 7.3.13 이상 버전이 포함된 이미지로 docker pull을 다시 실행해야 합니다.
  • docker-compose.yml에 PHP 버전을 고정하지 않은 경우, 이미지 재빌드로 자동 반영될 수 있으나 명시적 확인이 필요합니다.
# 현재 컨테이너 PHP 버전 확인./vendor/bin/sail php -v# 이미지 재빌드./vendor/bin/sail build --no-cache

Laravel Valet (macOS) 환경

  • Homebrew를 통해 PHP를 관리하는 경우:
brew upgrade php@7.3valet restartphp -v  # 7.3.13 
  • Valet과 함께 php-fpm을 사용하므로 CVE-2019-11043 영향 범위에 포함될 수 있습니다. 로컬 개발 환경이라도 업그레이드를 권장합니다.

OPcache와 한국어 소스코드

7.3.12에서 수정된 non-ASCII 문자를 포함한 파일의 OPcache 체크섬 오산 버그는 한국어 주석이나 문자열 리터럴이 포함된 PHP 파일에서 캐시가 올바르게 무효화되지 않는 현상을 유발할 수 있었습니다. 7.3.13으로 업그레이드 후 OPcache를 재설정하는 것을 권장합니다.

strip_tags() 화이트리스트 우회 (Standard)

7.3.13에서 strip_tags()의 태그명에 /가 포함된 경우 화이트리스트가 우회되는 버그가 수정되었습니다. Laravel의 Blade 템플릿이나 사용자 입력 정제 로직에서 strip_tags()를 직접 사용하는 경우 동작 변경을 확인해야 합니다.


실무 체크리스트

로컬 개발 환경

  • php -v 명령으로 현재 PHP 버전 확인
  • 7.3.13 미만인 경우 Homebrew(brew upgrade php@7.3) 또는 패키지 관리자로 업그레이드
  • Laravel Sail 사용 시 sail build --no-cache 실행 후 sail php -v 재확인
  • OPcache 사용 환경에서 업그레이드 후 캐시 초기화: php artisan opcache:clear 또는 서버 재시작

스테이징 환경

  • PHP 버전 업그레이드 후 composer install 재실행 (익스텐션 의존성 재확인)
  • strip_tags() 사용 부분 동작 테스트 (특히 사용자 입력 정제 로직)
  • preg_match() 반환값을 === 1 대신 >= 1로 느슨하게 비교하는 코드 점검
  • PHP-FPM 설정 확인: PATH_INFO 관련 Nginx 설정 검토 (CVE-2019-11043 완화)
  • SSL/TLS를 통한 외부 API 호출 (Http 파사드, Guzzle) 정상 동작 확인 (OpenSSL 수정 반영)

프로덕션 환경

  • 즉시: CVE-2019-11043 (RCE) 노출 여부 확인 — Nginx + PHP-FPM 사용 시 최우선
  • 시스템 패키지 관리자로 업그레이드:
    # Ubuntu/Debian (ondrej/php PPA 기준)sudo apt-get updatesudo apt-get install php7.3 php7.3-fpmphp -v  # 7.3.13 # CentOS/RHEL (remi repo 기준)sudo yum update php73
  • PHP-FPM 서비스 재시작:
    sudo systemctl restart php7.3-fpmsudo systemctl status php7.3-fpm
  • OPcache 캐시 무효화 (무중단 배포 시 graceful reload 후 처리):
    sudo systemctl reload php7.3-fpm
  • 업그레이드 후 애플리케이션 헬스체크 엔드포인트 및 에러 로그 모니터링 (최소 30분)
  • EXIF 처리 기능을 사용하는 이미지 업로드 기능 회귀 테스트
  • MySQLi persistent connection + SSL 설정을 사용하는 경우 DB 연결 정상 여부 확인
  • 배포 완료 후 phpinfo() 또는 php -v로 버전 재확인 후 접근 차단

📌 드래프트 검토 메모: CVE-2019-11043의 경우 Nginx 설정의 구체적인 취약 조건(try_files 미사용 + PATH_INFO 전달 구성)에 따라 영향 범위가 달라집니다. 게시 전 최신 Nginx 설정 권고안을 추가로 참조하여 내용을 보완하는 것을 권장합니다.