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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.3.20은 2020년 7월 9일 출시된 보안 및 버그 수정 릴리스입니다. Filter 확장의 메모리 접근 오류, SPL의 세그폴트, Standard 라이브러리의 스트림 관련 버그 등 안정성에 직접 영향을 미치는 문제들이 수정되었습니다. PHP 7.3 시리즈를 운영 중인 한국 Laravel 개발자라면 가능한 한 빠른 업그레이드를 권장합니다.


핵심 내용

PHP 7.3.20 직접 수정 사항 (2020-07-09)

  • Core

    • php-win.exe 100% CPU 락업 버그 수정 (#79650) — Windows 환경에서 PHP 프로세스가 CPU를 독점하는 심각한 문제
    • get_defined_functions(true) 호출 시 일부 함수가 누락되는 버그 수정 (#79668)
  • Filter ⚠️

    • php_filter_strip잘못된 메모리 접근(Invalid memory access) 수정 (#73527) — 입력값 필터링 시 메모리 손상 가능성 존재, 보안 관련 주의 필요
  • GD

    • imagescale() 함수에서 IMG_BICUBIC 옵션 사용 시 이미지에 검은 테두리가 생기는 버그 수정 (#79676)
  • OpenSSL

    • default_socket_timeout=-1 설정 시 연결이 즉시 타임아웃되는 버그 수정 (#62890)
  • PDO SQLite

    • 빈 결과셋에서 PDOStatement::getColumnMeta()가 실패하는 버그 수정 (#79664)
  • SPL ⚠️

    • GC(가비지 컬렉션) 실행 중 SplFileObject 관련 에러 핸들러에서 재현 가능한 세그폴트 수정 (#79710) — 파일 처리 중 예기치 않은 프로세스 종료 가능성
  • Standard

    • 스트림과 잘못된 데이터 처리 시 세그폴트 수정 (#74267)
    • ZTS(Thread-Safe) 빌드에서 posix_getgrgid 등의 함수가 ERANGE를 올바르게 처리하지 못하는 버그 수정 (#79579)

이전 릴리스에서 누적된 주요 보안 수정 (업그레이드 전 버전이라면 함께 적용됨)

아직 7.3.20 미만을 사용하고 있다면, 아래 CVE 수정 사항도 함께 챙겨야 합니다.

버전CVE영향 범위
7.3.18CVE-2019-11048긴 파일명/폼 변수로 OOM 및 임시 파일 미삭제 (파일 업로드 처리)
7.3.17CVE-2020-7067urldecode()의 OOB Read
7.3.16CVE-2020-7064EXIF 파싱 시 미초기화 값 사용
7.3.16CVE-2020-7065mb_strtolower() 스택 버퍼 오버플로우 (UTF-32LE)
7.3.16CVE-2020-7066get_headers() null 바이트 이후 묵시적 절단
7.3.15CVE-2020-7063Phar tar 파일 추가 시 잘못된 퍼미션 설정
7.3.15CVE-2020-7062세션 업로드 진행 시 Null Pointer Dereference
7.3.15CVE-2020-7061Phar 파일 추출 시 힙 버퍼 오버플로우
7.3.14CVE-2020-7060MBString 글로벌 버퍼 오버플로우
7.3.14CVE-2020-7059php_strip_tags_ex OOB Read
7.3.13CVE-2019-11046Bcmath 버퍼 언더플로우
7.3.13CVE-2019-11044/45null 바이트 파일명 처리 오류 (Windows)
7.3.13CVE-2019-11047/50EXIF 힙 버퍼 오버플로우 및 Use-after-free

⚠️ 보안 관점 요약: MBString, EXIF, Phar, Standard 라이브러리에 걸쳐 다수의 메모리 안전성 취약점이 존재했습니다. 파일 업로드, 이미지 처리, 문자열 인코딩을 다루는 Laravel 애플리케이션은 특히 영향을 받을 수 있습니다.


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

Laravel 버전별 호환성

  • PHP 7.3은 Laravel 6.x(LTS), Laravel 7.x에서 공식 지원되는 버전입니다.
  • Laravel 8.x는 PHP 7.3도 지원하지만, 가능하다면 PHP 7.4 또는 8.x로의 전환도 함께 검토하세요.
  • 이번 수정 사항은 Laravel의 파일 업로드(UploadedFile), 이미지 처리(Intervention Image 등 GD 기반), 다국어 처리(MBString), HTTPS 요청(OpenSSL) 등 실무에서 자주 사용하는 기능과 직접 연관됩니다.

로컬/스테이징 도구별 업그레이드 방법

Laravel Valet (macOS)

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

Laravel Sail (Docker 기반)

# docker-compose.yml의 PHP 이미지 버전 확인 후docker-compose downdocker-compose pulldocker-compose up -ddocker-compose exec laravel.test php -v

Docker 직접 운영 시

# Dockerfile에서 이미지 태그 명시 권장 FROM php:7.3.20-fpm-alpine

태그를 php:7.3-fpm처럼 마이너 버전 없이 사용 중이라면, docker pull만으로도 최신 패치 버전이 적용됩니다. 단, 의도하지 않은 업데이트를 방지하려면 7.3.20처럼 정확한 버전을 명시하는 것을 권장합니다.

Ubuntu/Debian 서버 (Ondrej PPA 사용 시)

sudo apt updatesudo apt upgrade php7.3 php7.3-fpm php7.3-cliphp -vsudo systemctl restart php7.3-fpm

CentOS/RHEL (Remi 저장소 사용 시)

sudo yum update php73php -vsudo systemctl restart php-fpm

한국 특수 환경 고려사항

  • EUC-KR, CP949 등 레거시 인코딩 사용 환경: MBString 관련 버퍼 오버플로우 수정(CVE-2020-7060, CVE-2020-7065)은 한국어 인코딩 처리와 관련될 수 있습니다. mb_convert_encoding(), mb_strtolower() 등을 사용하는 경우 특히 주의가 필요합니다.
  • 정부24, 공공 API 등 인증서 연동: OpenSSL 타임아웃 버그(#62890) 수정으로 default_socket_timeout=-1 설정 후에도 정상 연결이 가능해집니다.
  • 이미지 처리 서비스: GD 라이브러리 버그 수정으로 imagescale() 사용 시 이미지 품질 문제가 해소됩니다.

실무 체크리스트

로컬 개발 환경

  • php -v 명령으로 현재 PHP 버전 확인
  • Valet, Sail, 또는 직접 설치된 PHP를 7.3.20으로 업데이트
  • 업데이트 후 php -v로 버전 재확인
  • composer check-platform-reqs로 의존성 호환성 확인
  • MBString, GD, OpenSSL, PDO SQLite 관련 기능을 사용하는 경우 로컬 테스트 실행

스테이징 환경

  • PHP 업그레이드 후 전체 PHPUnit 테스트 스위트 실행
    php artisan test
  • 파일 업로드 기능 E2E 테스트 (CVE-2019-11048 관련)
  • 이미지 처리 기능 동작 확인 (GD imagescale 수정)
  • HTTPS/TLS 외부 API 연동 테스트 (OpenSSL 수정)
  • 한국어 문자열 인코딩 변환 기능 테스트 (MBString 수정)
  • php-fpm 재시작 후 로그에서 에러 여부 확인

운영(Production) 환경

  • 업그레이드 전 스냅샷 또는 이미지 백업 생성
  • 유지보수 모드 전환
    php artisan down --message="시스템 업그레이드 중입니다. 잠시 후 다시 접속해 주세요."
  • PHP 패키지 업그레이드 실행 (운영체제 패키지 매니저 사용)
  • PHP-FPM 또는 웹서버(Nginx/Apache) 재시작
  • Opcache 캐시 초기화
    # PHP-FPM 재시작으로 Opcache 자동 초기화 또는php artisan opcache:clear  #    
  • 애플리케이션 캐시 재생성
    php artisan config:cachephp artisan route:cachephp artisan view:cache
  • 유지보수 모드 해제
    php artisan up
  • 모니터링 도구(Sentry, Bugsnag, 로그 등)에서 업그레이드 후 에러 급증 여부 확인 (최소 30분)
  • php -vphpinfo() 페이지(관리자 전용)로 최종 버전 확인

보안 우선순위 판단 기준

상황권장 조치
파일 업로드 기능 운영 중즉시 업그레이드 (CVE-2019-11048)
이미지 업로드/EXIF 처리 중즉시 업그레이드 (CVE-2019-11047/50)
Phar 파일 사용 중즉시 업그레이드 (CVE-2020-7061/63)
MBString 기반 한국어 처리 중조속히 업그레이드 (CVE-2020-7060/65)
외부 URL 요청/스크래핑 중조속히 업그레이드 (CVE-2020-7059/66/67)
세션 기반 인증 사용 중조속히 업그레이드 (CVE-2020-7062)

편집자 주: 이 문서는 초안(Draft)입니다. PHP 7.3 시리즈는 이미 2021년 12월에 공식 지원이 종료(EOL)되었습니다. 신규 프로젝트 또는 장기 운영 중인 서비스라면, PHP 8.1 이상으로의 마이그레이션 계획을 병행하여 수립하시길 권장합니다.