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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.4.27이 2021년 12월 16일 릴리스되었습니다. 이번 버전은 FPM 힙 오버플로우 가능성, PCRE 경계 이탈(Out of Bounds) 등 보안 관련 버그 수정을 포함하며, PHP 7.4 브랜치의 누적 안정화 패치입니다. PHP 7.4는 이미 Active Support가 종료된 상태이므로, 아직 7.4를 사용 중인 한국 Laravel 개발자라면 업그레이드 계획 수립이 시급합니다.


핵심 내용

🔒 보안 및 위험도 높은 버그 수정 (7.4.21 ~ 7.4.27 누적)

PHP 7.4.27은 단일 패치가 아니라 이전 마이너 릴리스들의 누적 수정을 포함합니다. 특히 아래 항목들은 Laravel 프로덕션 환경에서 직접적인 영향을 줄 수 있습니다.

PHP 7.4.27 (2021-12-16) — 이번 릴리스

  • [Core] Closure::fromCallable()로 래핑된 __callStatic() 내에서 static:: 사용 시 오류 발생 수정 (Bug #81626)
  • [FPM] zlog에서 힙 오버플로우 가능성 수정 (Bug #81513) — FPM 기반 배포 환경에서 주의 필요
  • [PCRE] php_pcre_replace_impl의 경계 이탈(Out of Bounds) 수정 (Bug #74604) — preg_replace() 계열 함수를 광범위하게 사용하는 Laravel 애플리케이션에 영향
  • [GD] imagecreatefromstring libpng 경고 수정 (Bug #71316)
  • [Standard] stream_get_contents() 과잉 메모리 할당 수정 (Bug #81659)

PHP 7.4.26 (2021-11-18)

  • [Core] default_mimetype / default_charset를 통한 헤더 인젝션 취약점 수정 (Bug #81518) — 보안 패치
  • [XML] 특수문자로 인한 경로 파괴 수정 (CVE-2021-21707) — XML 파싱을 사용하는 애플리케이션 필수 확인
  • [MBString] 이전 요청의 포인터를 재사용할 수 있는 메모리 버그 수정 (Bug #76167) — 멀티바이트 문자(한국어 포함) 처리 환경에서 위험
  • [Streams] 사용자 필터를 사용한 메모리 손상 수정 (Bug #54340)

PHP 7.4.25 (2021-10-21)

  • [FPM] 루트 프로세스에서 권한 상승으로 이어질 수 있는 OOB R/W 수정 (CVE-2021-21703) — FPM 사용 시 매우 높은 위험도
  • [SPL] SplFixedArray::setSize() 재귀 호출 시 이중 해제(double-free) 수정 (Bug #80663)
  • [Zip] ZipArchive::extractTo()가 목적지 외부로 파일을 추출하는 취약점 (CVE-2021-21706)
  • [Zip] ZipArchive::extractTo() 메모리 누수 수정 (Bug #81490)

PHP 7.4.21 (2021-07-01)

  • [Core] open_basedir 우회 취약점 수정 (Bug #76359)
  • [Core] FILTER_VALIDATE_URL을 통한 SSRF 우회 수정 (CVE-2021-21705) — 외부 URL 검증 로직이 있는 애플리케이션 필수 확인
  • [PDO_Firebird] 스택 버퍼 오버플로우 및 SIGSEGV (CVE-2021-21704)

📦 Laravel과의 연관성

수정 영역Laravel 사용 패턴
MBString (Bug #76167)한국어 문자열 처리, mb_* 함수 전반
PCRE Out of BoundsStr:: 헬퍼, 정규식 기반 라우팅, 유효성 검사
FPM Heap OverflowNginx + PHP-FPM 표준 배포 구성
SSRF (CVE-2021-21705)Http:: 파사드, 외부 API 요청 URL 검증
Zip 경로 탈출 (CVE-2021-21706)Storage:: 파사드, 파일 업로드/압축 해제 기능
Stream 메모리 손상Storage:: 스트림, 파일 다운로드

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

⚠️ PHP 7.4 지원 종료 상태 확인

PHP 7.4의 Active Support는 2021년 11월 28일에 종료되었으며, Security Support는 2022년 11월 28일에 종료됩니다. 7.4.27은 사실상 7.4 브랜치의 마지막 일반 릴리스에 해당합니다.

PHP 7.4   Active Support : 2021-11-28    Security Support : 2022-11-28     : PHP 8.1 (Laravel 9.x )

⚡ 아직 PHP 7.4를 운영 중이라면, 이번 7.4.27 패치 적용과 동시에 PHP 8.1 마이그레이션 계획을 즉시 수립하십시오.

🇰🇷 한국어 처리 관련 — MBString 버그 수정 주목

Bug #76167 (mbstring may use pointer from some previous request)은 FPM 환경에서 이전 요청의 멀티바이트 상태가 다음 요청에 누출될 수 있는 버그입니다. 한국어를 주로 처리하는 애플리케이션(예: 이커머스, 커뮤니티, SaaS)은 아래 상황에서 간헐적 인코딩 오류를 경험했을 수 있습니다:

  • mb_convert_encoding(), mb_strlen(), mb_substr() 호출 시 비정상적 결과
  • mb_detect_encoding() 오탐 현상
  • 요청 간 한글 깨짐 현상 (특히 고트래픽 환경에서 재현 빈도 증가)

🛠️ 로컬/배포 환경별 영향

Laravel Valet (macOS)

# Homebrew PHP 업데이트brew updatebrew upgrade php@7.4  # 7.4.27 Homebrew   valet restartphp -v  #  

Valet 사용자는 Homebrew의 shivammathur/php 탭을 통해 7.4.27을 설치할 수 있습니다. 단, macOS Monterey 이상에서는 PHP 8.x로 전환을 권장합니다.

Laravel Sail (Docker)

docker-compose.yml 또는 sail/runtimes의 PHP 버전을 확인하십시오. Sail의 기본 이미지는 laravelsail/php74-composer 등을 사용합니다.

# docker-compose.yml 예시 services: laravel.test: build: context: ./vendor/laravel/sail/runtimes/7.4 # 8.1로 교체 권장

Docker 환경이라면 베이스 이미지를 php:7.4.27-fpm 태그로 고정하거나, 이번 기회에 php:8.1-fpm으로 업그레이드를 검토하십시오.

서버 직접 운영 (Ubuntu/CentOS + Nginx + PHP-FPM)

ondrej/php PPA (Ubuntu) 또는 Remi 저장소 (CentOS/RHEL) 사용 시:

# Ubuntu (ondrej/php PPA)sudo apt updatesudo apt install php7.4=7.4.27*sudo systemctl restart php7.4-fpm# CentOS (Remi)sudo yum update php74sudo systemctl restart php-fpm

실무 체크리스트

로컬 환경

  • php -v 명령으로 현재 PHP 버전 확인
  • PHP 7.4.27 미만인 경우 패키지 매니저(Homebrew, apt, yum)를 통해 업데이트
  • composer check-platform-reqs 실행하여 패키지 호환성 확인
  • MBString 관련 한국어 처리 단위 테스트 실행 (특히 mb_* 함수 사용 코드)

스테이징 환경

  • PHP 7.4.27 적용 후 전체 PHPUnit 테스트 스위트 실행
  • PCRE 관련 기능 회귀 테스트: 라우팅, 유효성 검사 규칙(regex:), Str:: 헬퍼
  • Zip 파일 업로드/압축 해제 기능이 있다면 동작 검증 (CVE-2021-21706 관련)
  • 외부 URL 요청 (Http:: 파사드, Guzzle) 사용 코드에서 URL 검증 로직 점검 (CVE-2021-21705 관련)
  • PHP-FPM 로그에서 zlog 관련 이상 징후 확인 (Bug #81513)
  • stream_get_contents() 사용 구간 메모리 사용량 모니터링

프로덕션 환경

  • 배포 전 php -mphpinfo() 출력으로 확장 모듈 이상 없는지 확인
  • Blue/Green 또는 롤링 배포 시 PHP-FPM 재시작 포함 여부 확인
  • FPM worker 재시작 후 오류 로그 집중 모니터링 (최소 30분)
  • APM 도구(New Relic, Datadog, Sentry 등)에서 배포 전후 에러율 비교
  • [최우선] PHP 8.1(또는 8.2) 마이그레이션 로드맵 팀 내 공유 및 일정 수립
  • Security Support 종료일(2022-11-28) 전 마이그레이션 완료 목표 설정

PHP 8.x 마이그레이션 사전 준비 (별도 권고)

  • rector/rector 패키지로 PHP 7.4 → 8.x 호환성 자동 분석
  • phpstan/phpstan 레벨 상향 적용으로 타입 안전성 사전 점검
  • laravel/framework 버전이 PHP 8.x와 호환되는지 확인 (Laravel 9.x 이상 권장)
  • composer.jsonrequire.php 제약 조건 검토

📝 편집자 주: 이 문서는 PHP 7.4.27 릴리스 노트 및 직전 릴리스(7.4.16~7.4.26)의 공식 변경 로그를 기반으로 작성된 초안입니다. CVE 심각도 등급(CVSS Score)은 공식 NVD 데이터베이스에서 별도 확인하시기 바랍니다. PHP 7.4의 정확한 EOL 일정은 php.net/supported-versions에서 확인하세요.