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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.2.33은 2020년 8월 6일 릴리스된 PHP 7.2 브랜치의 보안 패치 버전으로, Phar 확장의 해제된 해시 키 사용(CVE-2020-7068) 취약점과 getimagesize() 함수의 널 바이트 처리 버그를 수정합니다. PHP 7.2는 이미 공식 지원이 종료된(EOL) 버전이지만, 국내 레거시 프로젝트에서 여전히 사용 중인 경우가 있어 즉각적인 업그레이드 또는 상위 버전 마이그레이션 계획이 필요합니다.


핵심 내용

보안 수정 사항: CVE-2020-7068

  • 영향 컴포넌트: Phar 확장
  • 버그 번호: #79797
  • 취약점 유형: Use-after-free (해제된 메모리의 해시 키 재사용)
  • 발생 위치: phar_parse_zipfile() 함수 내부
  • 위험도: Phar 아카이브를 파싱하는 과정에서 해제된 해시 키를 재참조함으로써 예기치 않은 동작, 정보 유출, 또는 코드 실행 가능성이 존재합니다. Phar 파일을 직접 다루거나 외부에서 업로드된 Phar/ZIP 파일을 처리하는 애플리케이션은 특히 주의가 필요합니다.

⚠️ 주의: Laravel 애플리케이션에서 Phar 확장을 직접 사용하는 경우는 드물지만, Composer 자체가 Phar 형태로 배포되며 일부 패키지가 Phar 아카이브를 내부적으로 활용합니다. 빌드 파이프라인에서 Phar 파일을 처리하는 CI/CD 환경도 잠재적 영향권에 포함됩니다.

일반 버그 수정

  • getimagesize() 널 바이트 묵시적 절단 (버그 #79877): 파일 경로에 널 바이트(\0)가 포함된 경우 해당 위치에서 경로를 묵시적으로 잘라내는 문제를 수정했습니다. 이미지 업로드 검증 로직에서 파일명 위변조를 이용한 우회 공격 벡터로 악용될 수 있는 버그였습니다.

PHP 7.2 브랜치의 보안 이력 요약

이번 7.2.33 릴리스 이전에도 해당 브랜치에서는 다수의 심각한 취약점이 수정되었습니다:

버전CVE영향 컴포넌트유형
7.2.31CVE-2019-11048Core (파일 업로드)OOM / 임시 파일 미삭제
7.2.29CVE-2020-7064EXIF초기화되지 않은 값 사용
7.2.29CVE-2020-7066Standard (get_headers())널 바이트 절단
7.2.28CVE-2020-7063Phar파일 권한 설정 오류
7.2.28CVE-2020-7062SessionNull Pointer Dereference
7.2.27CVE-2020-7060Mbstring전역 버퍼 오버플로
7.2.27CVE-2020-7059StandardOOB 읽기
7.2.24CVE-2019-11043FPMRCE 가능성

CVE-2019-11043은 원격 코드 실행(RCE) 이 가능한 고위험 취약점으로, php-fpm 환경에서 특정 Nginx 설정과 결합 시 공격이 가능했습니다. PHP 7.2를 사용 중이면서 7.2.24 미만 버전을 운영 중인 경우 즉시 조치가 필요합니다.


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

PHP 7.2 EOL 현황

PHP 7.2는 2020년 11월 30일부로 공식 보안 지원이 종료되었습니다. 즉, 7.2.33이 7.2 브랜치의 사실상 마지막 릴리스에 해당하며, 이후 발견되는 취약점에 대해 공식 패치가 제공되지 않습니다. 현재 PHP 7.2를 프로덕션에서 운영 중이라면 이는 단순한 버전 업그레이드 권장 사항이 아닌 보안 리스크 관리의 문제입니다.

Laravel 호환성

Laravel 버전최소 PHP 요구사항PHP 7.2 지원 여부
Laravel 6.x (LTS)PHP 7.2+✅ 지원
Laravel 7.xPHP 7.2.5+✅ 지원
Laravel 8.xPHP 7.3+❌ 미지원
Laravel 9.x 이상PHP 8.0+❌ 미지원

PHP 7.2에서 실행 가능한 Laravel 버전은 6.x와 7.x로 제한되며, 이 두 버전 모두 현재 공식 지원이 종료되었거나 종료 예정 상태입니다. PHP 8.1 또는 8.2로의 마이그레이션과 함께 Laravel 버전 업그레이드를 병행하는 로드맵 수립을 강력히 권장합니다.

로컬 개발 환경별 영향

Laravel Valet (macOS)

  • Homebrew를 통해 설치된 PHP 버전이 7.2인 경우 brew upgrade php 또는 valet use php@8.2 명령으로 전환 가능합니다.
  • valet use php@7.2 형태로 고정 사용 중인 경우, 최소한 brew install php@7.2로 7.2.33 이상 버전인지 확인하십시오.

Laravel Sail (Docker)

  • docker/8.x 또는 docker/8.2 이미지 사용을 권장합니다.
  • docker-compose.ymlcontext: ./vendor/laravel/sail/runtimes/7.2 경로를 사용 중인 팀은 Sail 런타임 이미지를 상위 PHP 버전으로 교체해야 합니다.
  • Sail은 공식적으로 PHP 7.2 런타임 이미지 지원을 중단했습니다.

자체 Docker 환경

  • FROM php:7.2-fpm 베이스 이미지를 사용하는 Dockerfile은 Docker Hub에서 더 이상 보안 업데이트를 받지 않습니다.
  • FROM php:8.2-fpm-alpine 또는 FROM php:8.3-fpm 으로 교체를 검토하십시오.

서버 직접 운영 (Ubuntu/CentOS)

  • ondrej/php PPA(Ubuntu) 또는 Remi 저장소(CentOS/RHEL)에서 PHP 7.2 패키지는 더 이상 보안 업데이트를 제공하지 않습니다.
  • AWS EC2, NCP, KT Cloud 등 국내외 클라우드 환경에서 직접 PHP를 관리하는 경우 버전 확인이 필수입니다.

실무 체크리스트

즉시 확인 (로컬 및 스테이징)

  • 현재 PHP 버전 확인
    php -v # 또는 Laravel 애플리케이션에서 php artisan --version && php -v
  • PHP 7.2 사용 중이라면 7.2.33 이상인지 확인
    php -r "echo PHP_VERSION;"
  • Composer가 사용하는 PHP 버전 확인
    composer --version

단기 조치 (PHP 7.2 유지가 불가피한 경우)

  • 최소한 PHP 7.2.33 으로 업데이트하여 CVE-2020-7068 패치 적용
    # Ubuntu (ondrej/php PPA) sudo apt update && sudo apt upgrade php7.2 # macOS (Homebrew) brew upgrade php@7.2
  • php.ini에서 phar.readonly = On 설정 확인 (불필요한 Phar 쓰기 권한 제한)
    phar.readonly = On
  • 외부 입력으로부터 Phar 파일을 직접 파싱하는 코드가 있는지 점검
  • 이미지 업로드 처리 시 getimagesize() 결과 신뢰 여부 재검토 — 파일 경로 검증 로직에 널 바이트 필터링 추가 권장
    // 방어 코드 예시 $path = str_replace("\0", '', $userInputPath);

중장기 조치 (권장)

  • PHP 8.1 또는 8.2 업그레이드 계획 수립
    • PHP 8.1: 2024년 11월까지 보안 지원
    • PHP 8.2: 2025년 12월까지 보안 지원
    • PHP 8.3: 2026년 12월까지 보안 지원 (현재 활성 개발 버전)
  • Laravel 버전 업그레이드 계획 병행 수립 (Laravel 10.x 또는 11.x 목표)
  • composer.jsonrequire.php 버전 제약 조건 상향 조정
    "require": { "php": "^8.1" }
  • CI/CD 파이프라인에서 PHP 버전을 매트릭스 테스트로 검증하는 단계 추가
    # GitHub Actions 예시 strategy: matrix: php: ['8.1', '8.2', '8.3']
  • 스테이징 환경에서 PHP 8.x 호환성 테스트 후 프로덕션 적용
  • docker-compose.yml 또는 Dockerfile의 PHP 베이스 이미지 버전 고정 및 정기 검토 프로세스 수립

프로덕션 배포 전 최종 확인

  • 웹 애플리케이션 방화벽(WAF) 또는 IDS에서 Phar 관련 악의적 요청 패턴 탐지 규칙 검토
  • 파일 업로드 기능이 있는 엔드포인트에서 MIME 타입 검증 이중화 적용 여부 확인
  • php -m | grep phar 명령으로 Phar 확장 활성화 여부 확인 및 미사용 시 비활성화 검토

편집자 주: 이 문서는 초안입니다. PHP 7.2 EOL 이후의 보안 지원 여부 및 국내 호스팅 환경별 지원 패키지 버전은 운영 환경에 따라 다를 수 있으므로 실제 적용 전 담당자 확인을 권장합니다.