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 |
|---|---|---|---|
| #78380 | MBString | Oniguruma 6.9.3 CVE 수정 | CVE-2019-13224 |
| #77185 | FPM | Use-after-free (master event handling) | - |
| #78333 | Exif | Bus error (잘못된 정렬 및 캐스트) | - |
참고: CVE-2019-13224는 Oniguruma 정규표현식 라이브러리의 다형성 Use-after-free로, 원격 코드 실행(RCE) 가능성이 있는 심각한 취약점입니다.
mb_*계열 함수를 사용하는 Laravel 애플리케이션은 즉시 업그레이드를 검토해야 합니다.
🐛 주요 버그 수정 (7.3.9)
Core
- #78363 —
zendparse의 버퍼 오버플로우 수정. 파싱 중 크래시를 유발할 수 있었던 문제입니다. - #78379 — 객체 캐스트 시 GC(가비지 컬렉터)를 혼란시켜 크래시를 일으키던 버그 수정.
- #78412 — Generator가
$this를 GC 자식으로 잘못 보고하던 문제 수정.
Curl
- #77946 —
curl_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
- #78346 —
strip_tags()가 중첩된 PHP 태그를 올바르게 처리하지 못하던 문제 수정. - #78326 —
stream_get_contents()에서 고정 길이 버퍼 사용 시 메모리 해제 오류 수정. - #78282 —
atime과mtime불일치 수정.
📦 이전 마이너 버전(7.3.4 ~ 7.3.8) 누적 보안 수정 요약
7.3.5 이상에서 순차적으로 적용된 CVE들로, 7.3.9 이전 버전을 그대로 사용 중이라면 아래 항목들도 모두 미적용 상태입니다.
| 버전 | CVE | 영역 | 위험도 |
|---|---|---|---|
| 7.3.8 | CVE-2019-11041 | EXIF | 힙 버퍼 오버플로우 |
| 7.3.8 | CVE-2019-11042 | EXIF | 힙 버퍼 오버플로우 |
| 7.3.6 | CVE-2019-11038 | GD | 초기화되지 않은 읽기 |
| 7.3.6 | CVE-2019-11039 | Iconv | 정수 오버플로우로 인한 OOB 읽기 |
| 7.3.6 | CVE-2019-11040 | EXIF | 힙 버퍼 오버플로우 |
| 7.3.5 | CVE-2019-11036 | EXIF | 힙 버퍼 오버플로우 |
| 7.3.4 | CVE-2019-11034 | EXIF | 힙 버퍼 오버플로우 |
| 7.3.4 | CVE-2019-11035 | EXIF | 힙 버퍼 오버플로우 |
| 7.3.9 | CVE-2019-13224 | MBString | Use-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 버전에 따라 다를 수 있으므로, 스테이징에서 반드시 검증 후 배포하십시오.