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-11046 | Bcmath | bc_shift_addsub() 내 버퍼 언더플로우 | 중간 |
| CVE-2019-11044 | Core (Windows) | link() 함수에서 null 바이트 이후 경로 묵시적 절단 | 중간 |
| CVE-2019-11045 | Core | DirectoryIterator에서 null 바이트 이후 경로 묵시적 절단 | 중간 |
| CVE-2019-11049 | Core | mail() 함수에서 refcount==1 문자열 이중 해제 | 높음 |
| CVE-2019-11050 | EXIF | 메모리 sanitizer 환경에서 use-after-free | 높음 |
| CVE-2019-11047 | EXIF | 힙 버퍼 오버플로우(읽기) | 높음 |
⚠️ 주의: 이전 릴리스(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.c의env_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-cacheLaravel 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 설정 권고안을 추가로 참조하여 내용을 보완하는 것을 권장합니다.