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.31 | CVE-2019-11048 | Core (파일 업로드) | OOM / 임시 파일 미삭제 |
| 7.2.29 | CVE-2020-7064 | EXIF | 초기화되지 않은 값 사용 |
| 7.2.29 | CVE-2020-7066 | Standard (get_headers()) | 널 바이트 절단 |
| 7.2.28 | CVE-2020-7063 | Phar | 파일 권한 설정 오류 |
| 7.2.28 | CVE-2020-7062 | Session | Null Pointer Dereference |
| 7.2.27 | CVE-2020-7060 | Mbstring | 전역 버퍼 오버플로 |
| 7.2.27 | CVE-2020-7059 | Standard | OOB 읽기 |
| 7.2.24 | CVE-2019-11043 | FPM | RCE 가능성 |
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.x | PHP 7.2.5+ | ✅ 지원 |
| Laravel 8.x | PHP 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.yml의context: ./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/phpPPA(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.json의require.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 이후의 보안 지원 여부 및 국내 호스팅 환경별 지원 패키지 버전은 운영 환경에 따라 다를 수 있으므로 실제 적용 전 담당자 확인을 권장합니다.