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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.4.29는 2022년 4월 14일에 릴리스된 PHP 7.4 브랜치의 보안 릴리스입니다. 소스 코드 변경은 없으며 Windows 빌드 재현성을 위한 버전 번호 추가와 IANA 타임존 데이터베이스(2022a) 업데이트가 주요 변경사항입니다. PHP 7.4는 보안 지원이 종료(EOL)를 앞두고 있는 버전으로, 한국 Laravel 개발자들은 이번 릴리스를 계기로 PHP 8.x로의 마이그레이션을 진지하게 검토해야 합니다.


핵심 내용

PHP 7.4.29 직접 변경사항

  • 소스 코드 변경 없음: 이번 릴리스는 Windows 빌드 재현성(reproducibility) 확보를 위한 버전 번호 추가가 전부입니다.
  • IANA 타임존 데이터베이스 2022a 업데이트: Date 확장에 최신 타임존 정보가 반영되었습니다. 이는 한국 표준시(KST, Asia/Seoul)를 포함한 전 세계 타임존 정확도에 영향을 미칩니다.

⚠️ 주의: 공식 릴리스 페이지에서 "보안 릴리스"로 태그되어 있으나, 7.4.29 자체의 변경사항에는 새로운 CVE 패치가 포함되어 있지 않습니다. 보안 태그는 7.4 브랜치 전반의 누적 보안 수정사항을 반영한 것으로 판단됩니다. 실제 보안 패치는 이전 릴리스들에 포함되어 있습니다.


7.4 브랜치 주요 보안 패치 이력 (누적 참고)

7.4.29 이전 릴리스들에 걸쳐 다수의 보안 취약점이 수정되었습니다. 아직 구버전 7.4.x를 사용 중이라면 아래 CVE들을 확인하십시오.

릴리스 버전CVE / 버그 번호영향 컴포넌트위험도
7.4.25CVE-2021-21703PHP-FPM (OOB R/W, 권한 상승)높음
7.4.24CVE-2021-21706ZipArchive (경로 탈출)높음
7.4.26CVE-2021-21707XML (특수문자 경로 처리)중간
7.4.21CVE-2021-21705FILTER_VALIDATE_URL (SSRF 우회)높음
7.4.21CVE-2021-21704PDO_Firebird (스택 버퍼 오버플로우)높음
7.4.28#81708Filter (UAF, php_filter_float)높음

주목할 버그 수정 이력

  • PHP-FPM 힙 오버플로우 (7.4.27, #81513): FPM zlog에서 발생 가능한 힙 오버플로우 수정. PHP-FPM을 사용하는 대부분의 Laravel 프로덕션 환경에 직접적인 영향.
  • MBString 포인터 재사용 문제 (7.4.26, #76167): 이전 요청의 포인터를 재사용할 수 있는 문제로, 다중 요청 처리 환경(FPM, Swoole)에서 데이터 오염 가능성 존재.
  • Opcache 세그폴트 (7.4.24, #81353): 프리로딩(preloading)과 정적 바인딩 클로저 조합 시 세그폴트. Laravel의 opcache.preload 설정 사용자에게 영향.
  • 스트림 필터 세그폴트 (7.4.23, #81294): 필터 제거 시 세그폴트. Laravel의 파일 스트림 처리 코드에 간접 영향 가능.
  • open_basedir 우회 (7.4.21, #76359): .. 추가를 통한 open_basedir 우회 가능. 보안 설정이 중요한 공유 호스팅 환경에서 위험.

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

PHP 7.4 EOL 경고

PHP 7.4의 보안 지원은 2022년 11월 28일 종료됩니다. 즉, 7.4.29는 사실상 PHP 7.4의 마지막 릴리스 중 하나입니다. 이번 업데이트 적용과 동시에 PHP 8.1 또는 8.2로의 마이그레이션 계획을 수립해야 합니다.

Laravel 버전 호환성

Laravel 버전PHP 7.4 지원 여부권장 PHP
Laravel 8.x✅ 지원PHP 8.0+ 권장
Laravel 9.x❌ 미지원PHP 8.0+ 필수
Laravel 10.x❌ 미지원PHP 8.1+ 필수

현재 Laravel 8 + PHP 7.4 조합을 사용 중이라면, 최신 보안 패치를 받기 위해서는 Laravel 9/10으로의 업그레이드가 사실상 필수입니다.

로컬 개발 환경별 업그레이드 안내

Laravel Valet (macOS)

# Homebrew를 통한 PHP 버전 확인 brew list | grep php # PHP 8.1로 업그레이드 예시 brew install php@8.1 valet use php@8.1 # 현재 PHP 버전 확인 valet php

Laravel Sail (Docker)

# docker-compose.yml 또는 sail publish 후 Dockerfile 수정 # PHP 버전을 8.1 또는 8.2로 변경 services: laravel.test: build: context: ./vendor/laravel/sail/runtimes/8.2 # 기존 7.4 → 8.2로 변경
# Sail 재빌드./vendor/bin/sail build --no-cache./vendor/bin/sail up -d

일반 Docker 환경

# 기존 FROM php:7.4-fpm # 변경 FROM php:8.1-fpm

타임존 업데이트 영향 (KST)

IANA 타임존 데이터베이스 2022a 업데이트가 포함되었습니다. 한국 표준시(KST, Asia/Seoul, UTC+9)는 변경사항이 없으나, 국제 서비스를 운영하거나 다중 타임존을 처리하는 경우 타임존 관련 테스트를 재확인하는 것이 좋습니다.

// Laravel에서 타임존 설정 확인 // config/app.php 'timezone' => 'Asia/Seoul',

FPM 사용자 특별 주의

7.4.25에서 수정된 CVE-2021-21703 (PHP-FPM 권한 상승) 은 심각도가 높습니다. Nginx + PHP-FPM 조합을 사용하는 한국 내 Laravel 서비스 환경에서 7.4.25 미만 버전을 사용 중이라면 즉시 업그레이드가 필요합니다.


실무 체크리스트

즉시 조치 (로컬/스테이징)

  • 현재 PHP 버전 확인: php -v
  • 7.4.29 미만이라면 즉시 7.4.29로 업데이트
  • CVE-2021-21703 (FPM 권한 상승) 영향 여부 확인 — PHP-FPM 사용 시 필수
  • CVE-2021-21705 (SSRF 우회) 영향 여부 확인 — FILTER_VALIDATE_URL 사용 코드 점검
  • ZipArchive 사용 코드에서 경로 탈출 가능성 점검 (CVE-2021-21706)

PHP 8.x 마이그레이션 준비

  • composer.jsonrequire.php 버전 제약 확인
  • phpunit/phpunit, laravel/framework 등 주요 패키지의 PHP 8.x 호환성 확인
  • PHP 8.0 주요 변경사항 검토 (named arguments, match expression, nullsafe operator)
  • PHP 8.1 주요 변경사항 검토 (enums, fibers, readonly properties)
  • rector/rector를 활용한 자동 코드 마이그레이션 검토
# Rector를 통한 PHP 8.1 마이그레이션 보조composer require rector/rector --dev./vendor/bin/rector process src --dry-run

스테이징 환경

  • PHP 8.1 환경에서 전체 테스트 스위트 실행: php artisan test
  • 타임존 관련 기능 통합 테스트 (특히 Carbon, 스케줄러)
  • Opcache 프리로딩 사용 시 PHP 8.x 환경에서 재테스트
  • MBString 관련 한글 처리 로직 회귀 테스트

프로덕션 배포

  • 배포 전 php -m으로 필요한 확장 모듈 로드 확인
  • PHP-FPM 설정 파일 PHP 8.x 호환성 검토
  • Nginx/Apache PHP 핸들러 버전 설정 업데이트
  • 모니터링 도구(Sentry, Bugsnag 등) PHP 버전 정보 갱신 확인
  • 배포 후 /healthcheck 또는 php artisan about 출력으로 버전 확인

장기 계획

  • 2022년 11월 28일 이전 PHP 8.x 마이그레이션 완료 목표 수립
  • Laravel 8 → 9/10 업그레이드 로드맵 작성
  • 팀 내 PHP 8.x 새 기능 학습 세션 계획

편집자 주: 이 문서는 초안입니다. PHP 7.4.29 자체의 소스 변경이 없어 "보안 릴리스" 태그의 정확한 의미에 대해 php.net 공식 채널에서 추가 확인이 필요할 수 있습니다. 또한 각 CVE의 CVSS 점수는 NVD(National Vulnerability Database)에서 직접 확인하여 본문에 추가하는 것을 권장합니다.