PHP 7.2.34 업데이트 — 한국 Laravel 개발자 영향 분석
작성: 라라벨 코리아 (초안)
발행: 2026년 8월 6일
## 요약
요약
PHP 7.2.34는 2020년 10월 1일 공개된 PHP 7.2 브랜치의 마지막 보안 릴리스입니다. 이번 릴리스는 악의적인 __Host- 쿠키 파싱 취약점(CVE-2020-7070)과 AES-CCM 암호화 오류(CVE-2020-7069) 두 가지 보안 결함을 수정합니다. PHP 7.2는 공식 보안 지원이 종료된 버전으로, 아직 이 버전을 운영 중인 Laravel 프로젝트는 즉각적인 업그레이드 계획 수립이 필요합니다.
핵심 내용
보안 수정 사항 (CVE)
CVE-2020-7070 — 쿠키 이름 디코딩으로 인한 __Host- 쿠키 위조
- 영향 버그:
#79699 - 수정자: Stas
- PHP가 인코딩된 쿠키 이름을 파싱하는 과정에서
__Host-접두사 검증을 우회할 수 있는 문제입니다. __Host-쿠키는 RFC 6265bis에 따라 HTTPS에서만, 도메인 속성 없이, 루트 경로(/)에서만 전송되어야 합니다. 이 취약점을 악용하면 공격자가 인코딩된 이름으로 제약을 우회하는 악의적인 쿠키를 전송할 수 있습니다.- Laravel 영향:
$_COOKIE,request()->cookie(), 세션 쿠키, CSRF 토큰 쿠키 등 쿠키 기반 인증 흐름 전반에 영향을 줄 수 있습니다.
CVE-2020-7069 — AES-CCM 암호화 시 잘못된 암호문/태그 생성
- 영향 버그:
#79601 - 수정자: Jakub Zelenka
- 12바이트 IV를 사용하는 AES-CCM 모드에서 암호문 및 인증 태그가 잘못 생성되는 문제입니다.
openssl_encrypt()/openssl_decrypt()함수를 AES-CCM 모드로 사용하는 경우 잘못된 데이터를 반환할 수 있습니다.- Laravel 영향:
Crypt::encrypt()등 Laravel 기본 암호화 파사드는 AES-256-CBC를 사용하므로 직접 영향은 없으나,openssl_encrypt()를 AES-CCM 모드로 직접 호출하는 커스텀 코드가 있다면 즉시 점검이 필요합니다.
PHP 7.2 생명주기 현황
| 버전 | Active Support 종료 | Security Support 종료 |
|---|---|---|
| PHP 7.2 | 2019년 11월 30일 | 2020년 11월 30일 |
| PHP 7.3 | 2020년 12월 6일 | 2021년 12월 6일 |
| PHP 7.4 | 2021년 11월 28일 | 2022년 11월 28일 |
| PHP 8.0 | 2022년 11월 26일 | 2023년 11월 26일 |
⚠️ PHP 7.2.34는 7.2 브랜치의 마지막 릴리스입니다. 2020년 11월 30일 이후로는 어떠한 보안 패치도 제공되지 않습니다.
주요 누적 보안 수정 이력 (7.2.19 ~ 7.2.34)
이번 릴리스에 도달하기까지 누적된 주요 CVE 목록입니다. 7.2.x 마이너 버전을 건너뛴 경우 아래 취약점들에 모두 노출되어 있을 수 있습니다.
| 버전 | CVE | 영향 영역 |
|---|---|---|
| 7.2.34 | CVE-2020-7070 | Core (쿠키 파싱) |
| 7.2.34 | CVE-2020-7069 | OpenSSL (AES-CCM) |
| 7.2.33 | CVE-2020-7068 | Phar (Use-after-free) |
| 7.2.31 | CVE-2019-11048 | Core (OOM, 파일 업로드) |
| 7.2.29 | CVE-2020-7064 | EXIF (미초기화 메모리 읽기) |
| 7.2.29 | CVE-2020-7066 | Standard (null byte truncation) |
| 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 가능) |
| 7.2.21 | CVE-2019-11042, 11041 | EXIF (힙 버퍼 오버플로우) |
CVE-2019-11043 (FPM RCE) 은 특히 심각도가 높습니다. nginx + PHP-FPM 조합을 사용하는 환경에서 원격 코드 실행이 가능한 취약점으로, 7.2.23 이하 버전 사용자는 최우선 조치가 필요합니다.
한국 Laravel 개발자에게 미치는 영향
Laravel 버전 호환성
PHP 7.2를 여전히 사용 중이라면 사용 가능한 Laravel 버전이 크게 제한됩니다.
| Laravel 버전 | 최소 PHP 요구사항 | PHP 7.2 지원 |
|---|---|---|
| Laravel 6.x (LTS) | PHP 7.2+ | ✅ 지원 (2022년 9월 EOL) |
| Laravel 7.x | PHP 7.2.5+ | ✅ 지원 (2021년 3월 EOL) |
| Laravel 8.x | PHP 7.3+ | ❌ 미지원 |
| Laravel 9.x | PHP 8.0+ | ❌ 미지원 |
| Laravel 10.x | PHP 8.1+ | ❌ 미지원 |
| Laravel 11.x | PHP 8.2+ | ❌ 미지원 |
PHP 7.2에서는 Laravel 8 이상 업그레이드가 불가능합니다. 최신 Laravel의 보안 수정 및 기능을 활용하려면 PHP 업그레이드가 선행되어야 합니다.
로컬 개발 환경별 업그레이드 영향
Laravel Valet (macOS)
# 현재 PHP 버전 확인valet php -v# Homebrew로 PHP 업그레이드brew upgrade php# 특정 버전으로 전환 (예: 8.2)brew install php@8.2valet use php@8.2Valet은 Homebrew 의존성이 강하므로,
brew link --force --overwrite php@8.2이후valet restart를 반드시 실행하세요.
Laravel Sail (Docker)
docker-compose.yml 또는 docker/8.2/Dockerfile 경로에서 베이스 이미지를 변경합니다:
# 변경 전
image: sail-8.0/app
# 변경 후 (예시)
image: sail-8.2/appphp artisan sail:publish 후 Dockerfile을 재빌드하는 방식을 권장합니다:
php artisan sail:publish./vendor/bin/sail build --no-cache공유 호스팅 / 카페24, 가비아 등 국내 호스팅
국내 일부 공유 호스팅은 PHP 7.2를 기본 제공하거나, 제어판에서만 PHP 버전을 변경할 수 있습니다. 호스팅 제공업체의 PHP 7.4 또는 8.x 지원 여부를 즉시 확인하고, 미지원 시 VPS 또는 클라우드(NCloud, AWS Korea, Gabia Cloud)로의 이전을 검토하세요.
보안 긴급도 평가
| 항목 | 평가 |
|---|---|
| CVE-2020-7070 (쿠키 위조) | 🔴 높음 — 쿠키 기반 인증 우회 가능 |
| CVE-2020-7069 (AES-CCM) | 🟡 중간 — AES-CCM 직접 사용 시에만 해당 |
| PHP 7.2 EOL | 🔴 매우 높음 — 이후 패치 없음 |
실무 체크리스트
로컬 환경
-
php -v명령어로 현재 PHP 버전 확인 -
composer.json의require.php필드에서 최소 버전 제약 확인 -
phpinfo()또는php -i | grep OpenSSL로 OpenSSL 버전 확인 - AES-CCM 모드(
openssl_encrypt(..., 'aes-256-ccm', ...))를 직접 사용하는 코드 전수 검색:grep -rn "ccm" --include="*.php" ./app ./config -
__Host-또는__Secure-접두사 쿠키를 직접 설정하는 코드 확인:grep -rn "__Host-\|__Secure-" --include="*.php" ./app
스테이징 환경
- PHP를 7.4 또는 8.x로 업그레이드한 테스트 환경 구성
-
composer update로 의존성 재확인 (PHP 버전 변경 시 패키지 호환성 체크) -
php artisan test또는 PHPUnit 전체 테스트 스위트 실행 - 세션/쿠키 관련 인증 흐름(로그인, 로그아웃, Remember Me) 수동 테스트
- 암호화/복호화 기능(
Crypt,openssl_*) 동작 검증
운영(프로덕션) 환경
- PHP 7.2 사용 중인 서버 목록 파악 (
php -v또는 모니터링 도구) - PHP 7.2.34로 즉시 패치 (이미 7.2를 사용 중이고 단기 업그레이드가 불가한 경우)
# Ubuntu/Debian (ondrej/php PPA 사용 시) sudo apt-get update && sudo apt-get install php7.2 # CentOS/RHEL (Remi 저장소 사용 시) sudo yum update php72 - PHP 8.1 또는 8.2로의 마이그레이션 로드맵 수립 (PHP 7.2 EOL: 2020년 11월 30일)
- 웹방화벽(WAF) 또는 nginx 설정에서 쿠키 이름 인코딩 관련 요청 필터링 임시 적용 검토
- 운영 배포 후 에러 로그(
storage/logs/laravel.log) 및 PHP-FPM 로그 모니터링 - 보안 담당자 또는 팀에 CVE-2020-7070, CVE-2020-7069 영향 범위 공유
드래프트 주의사항: 이 문서는 검토용 초안입니다. PHP 7.2의 공식 EOL 날짜 및 각 CVE의 CVSS 점수는 php.net 공식 릴리스 페이지 및 NVD에서 최종 확인 후 반영을 권장합니다.