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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.2.28은 2020년 2월 20일에 릴리스된 보안 패치 버전으로, Phar와 Session 컴포넌트에서 발견된 두 개의 CVE 취약점을 포함한 다수의 버그를 수정합니다. PHP 7.2 브랜치는 이미 EOL(End of Life) 상태에 근접해 있으므로, 아직 7.2를 사용 중인 한국 Laravel 개발자라면 이번 패치 적용과 동시에 상위 버전 마이그레이션 계획을 즉시 수립해야 합니다.


핵심 내용

보안 취약점 (CVE) 수정 사항

이번 7.2.28 릴리스에서 직접 수정된 CVE는 두 가지입니다.

CVE-2020-7063 — Phar 파일 퍼미션 노출

  • 영향 컴포넌트: Phar
  • 버그 번호: #79082
  • 내용: Phar::buildFromIterator()를 통해 tar 아카이브에 파일을 추가할 때, 해당 파일에 전체 접근 권한(all-access permissions)이 부여되는 문제
  • 실무 영향: Laravel 애플리케이션을 Phar 아카이브로 패키징하여 배포하는 환경(예: 일부 CI/CD 파이프라인 또는 독립 실행 배포 방식)에서 의도치 않게 민감한 파일 권한이 노출될 수 있음

CVE-2020-7062 — Session 업로드 진행 중 Null Pointer Dereference

  • 영향 컴포넌트: Session
  • 버그 번호: #79221
  • 내용: PHP 세션 업로드 진행(Session Upload Progress) 기능에서 Null Pointer Dereference가 발생하여 서비스 중단(DoS)으로 이어질 수 있는 취약점
  • 실무 영향: session.upload_progress.enabled = On 설정을 사용하는 Laravel 파일 업로드 기능(예: livewire/livewire의 파일 업로드, 커스텀 청크 업로드 구현 등)에서 잠재적인 충돌(crash) 위험 존재

참고: 직전 버전인 7.2.27(2020년 1월 23일)에서도 아래 CVE들이 패치되었으므로, 7.2.26 이하에서 7.2.28로 바로 업그레이드하는 경우 아래 항목도 함께 해소됩니다.

  • CVE-2020-7060: Mbstring mbfl_filt_conv_big5_wchar의 전역 버퍼 오버플로우 — Big5 인코딩 처리 시 발생 가능
  • CVE-2020-7059: Standard php_strip_tags_ex의 Out-of-Bounds 읽기

기타 주요 버그 수정 요약

버전컴포넌트내용
7.2.28DOMDomImplementation 쓰기 접근 위반(#77569) 수정
7.2.27Sessionsession_create_id()의 heap use-after-free 수정
7.2.26FPMfpm_main.c 버퍼 언더플로우로 인한 RCE 가능성(CVE-2019-11043) 수정
7.2.26EXIFUse-after-free 및 Heap 버퍼 오버플로우(CVE-2019-11050, CVE-2019-11047)
7.2.26Bcmath버퍼 언더플로우(CVE-2019-11046)
7.2.24FPMRCE 위험성(CVE-2019-11043) — 매우 심각
7.2.21EXIFHeap 버퍼 오버플로우(CVE-2019-11041, CVE-2019-11042)

⚠️ **특히 7.2.24에서 패치된 CVE-2019-11043(PHP-FPM RCE)**은 원격 코드 실행이 가능한 치명적 취약점입니다. 만약 7.2.23 이하 버전을 아직 사용 중이라면 즉시 업그레이드가 필요합니다.

PHP 7.2 EOL 상태 고지

PHP 공식 지원 정책에 따르면, PHP 7.2는 2020년 11월 30일부로 모든 보안 지원이 종료됩니다. 7.2.28은 사실상 마지막 몇 개의 릴리스 중 하나에 해당하며, 이후에는 어떠한 보안 패치도 제공되지 않습니다. Laravel 프레임워크 역시 최신 LTS 버전 기준으로 PHP 7.3 이상을 요구합니다.


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

호환성 및 Laravel 버전 매핑

  • PHP 7.2는 Laravel 5.6 ~ 7.x 범위에서 공식 지원되었습니다.
  • Laravel 8.x부터는 PHP 7.3 이상을 요구하므로, 현재 PHP 7.2를 사용 중이라면 Laravel 최신 버전으로의 업그레이드도 함께 고려해야 합니다.
  • Laravel 6.x(LTS) 를 PHP 7.2와 함께 사용 중인 팀이 있다면, PHP 업그레이드 계획을 더 이상 미루기 어려운 시점입니다.

보안 긴급도

항목평가
즉시 패치 필요 여부 (CVE-2020-7062, CVE-2020-7063)
PHP 7.2.23 이하 사용 시매우 긴급 (RCE 취약점 CVE-2019-11043 포함)
전반적인 업그레이드 권고PHP 7.4 또는 8.x로의 마이그레이션 권장

로컬 개발 환경별 고려 사항

Laravel Valet (macOS)

# Homebrew를 통해 PHP 버전 전환brew install php@7.2valet use php@7.2# 업그레이드 후 확인php --versionvalet restart

Valet 환경에서 php@7.2를 Homebrew로 설치한 경우, Homebrew가 패키지를 최신 패치 버전으로 자동 업데이트하지 않을 수 있습니다. brew upgrade php@7.2를 명시적으로 실행해 주세요.

Laravel Sail (Docker)

Sail의 기본 이미지는 PHP 버전별 공식 Docker 이미지를 사용합니다. docker-compose.yml 또는 docker/Dockerfile에서 php:7.2-fpm 이미지를 사용하고 있다면, Docker Hub의 공식 이미지가 7.2.28로 갱신되었는지 확인 후 이미지를 재빌드하세요.

docker pull php:7.2-fpm# 또는 Sail 사용 시./vendor/bin/sail build --no-cache

일반 Docker/서버 환경

  • Ubuntu: ondrej/php PPA를 통해 apt upgrade php7.2 실행
  • CentOS/RHEL: Remi 저장소를 통해 업그레이드
  • AWS Elastic Beanstalk, 카페24, 닷홈 등 공유 호스팅: 관리자 패널 또는 고객센터를 통해 PHP 버전 업데이트 요청

국내 환경 특이 사항

  • Mbstring CVE-2020-7060 (Big5 인코딩 버퍼 오버플로우): 국내 서비스에서 Big5 인코딩을 직접 사용하는 경우는 드물지만, EUC-KR ↔ UTF-8 변환 과정에서 mbstring을 광범위하게 사용하는 한국 서비스 특성상 mbstring 관련 패치는 주의 깊게 확인할 필요가 있습니다.
  • 파일 업로드 기능: 국내 커머스, 커뮤니티, 그룹웨어 등 대용량 파일 업로드를 사용하는 서비스라면 CVE-2020-7062(Session Upload Progress) 취약점에 노출될 가능성을 반드시 점검하세요.

실무 체크리스트

로컬 환경

  • 현재 PHP 버전 확인: php --version
  • PHP 7.2.28로 업그레이드 실행 (Homebrew, apt, yum 등 패키지 매니저 사용)
  • 업그레이드 후 php --version으로 버전 재확인
  • php -m으로 주요 확장 모듈 정상 로드 여부 확인
  • php artisan --version으로 Laravel 정상 동작 확인
  • 로컬에서 단위 테스트 및 기능 테스트 실행: php artisan test

스테이징 환경

  • PHP 업그레이드 전 현재 환경 스냅샷 또는 백업 생성
  • PHP 7.2.28 설치 및 PHP-FPM 재시작
    sudo apt-get upgrade php7.2sudo systemctl restart php7.2-fpm
  • session.upload_progress.enabled 설정값 확인 (php.ini 또는 .htaccess)
    ; 불필요한 경우 비활성화 권장 session.upload_progress.enabled = Off
  • Phar 기반 배포 파이프라인 사용 여부 확인 및 권한 설정 점검
  • 파일 업로드 기능 통합 테스트 수행
  • 에러 로그 모니터링 (Laravel storage/logs/laravel.log)

프로덕션 환경

  • 점검 시간 확보 또는 무중단 배포 전략(Blue-Green, Rolling) 계획 수립
  • PHP 7.2.28 업그레이드 적용
  • PHP-FPM, Nginx/Apache 서비스 재시작
  • 헬스체크 엔드포인트 또는 php artisan about 명령으로 서비스 정상 동작 확인
  • 배포 후 최소 30분 이상 에러율 및 응답 시간 모니터링
  • 중장기 계획: PHP 7.4 또는 PHP 8.1/8.2 마이그레이션 로드맵 수립 — PHP 7.2는 2020년 11월 지원 종료 예정

보안 설정 추가 권장 사항

  • php.ini에서 session.upload_progress.enabled가 실제로 필요한지 검토
  • Phar 스트림 래퍼 비사용 환경이라면 phar.readonly = On 설정 확인
  • EXIF 처리 기능 사용 시 업로드 파일 유효성 검증 로직 재점검 (CVE-2019-11041/11042/11040 등 다수의 EXIF 취약점 이력 고려)
  • allow_url_fopen, allow_url_include 등 불필요한 PHP 설정 비활성화 여부 재확인

편집자 주: 이 문서는 초안입니다. PHP 7.2의 정확한 EOL 날짜 및 Laravel 버전별 공식 PHP 지원 범위는 배포 전 공식 문서를 통해 최종 검토 바랍니다. CVE 심각도 점수(CVSS)는 별도 출처 확인이 필요하며 본 원문 데이터에는 포함되어 있지 않습니다.