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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.4.32는 2022년 9월 29일 릴리스된 PHP 7.4 브랜치의 보안 패치 버전입니다. 이 릴리스는 CVE-2022-31628(phar DOS 취약점)과 CVE-2022-31629(HTTP 변수명 조작 취약점) 두 가지 보안 취약점을 수정합니다. PHP 7.4는 이미 EOL(End of Life)이 임박한 버전이므로, 이번 업데이트를 계기로 PHP 8.x 마이그레이션을 적극적으로 검토해야 합니다.


핵심 내용

🔐 수정된 보안 취약점 (CVE)

CVE-2022-31628 — Phar Gzip Quine을 이용한 DoS 공격

  • 영향 컴포넌트: phar 스트림 래퍼
  • 공격 유형: DoS (Denial of Service)
  • 원인: Quine 형태의 gzip 파일(자기 자신을 포함하는 구조)을 phar 래퍼로 열 때 무한 루프 또는 과도한 리소스 소모 발생
  • 실무 위험도: phar:// 스트림을 통해 사용자 업로드 파일이나 외부 입력을 처리하는 애플리케이션에서 특히 위험. 서버 다운으로 이어질 수 있음

CVE-2022-31629 — HTTP 변수명 조작을 통한 세션 하이재킹

  • 영향 컴포넌트: HTTP 변수 파싱 ($_SERVER, $_COOKIE, $_GET, $_POST 등)
  • 공격 유형: Cookie/Session 조작, CSRF 우회 가능성
  • 원인: 특정 의미를 가진 HTTP 변수명(예: HTTP_PROXY)과 충돌하는 이름의 변수가 잘못 처리(mangle)됨
  • 실무 위험도: 공격자가 의도적으로 조작된 HTTP 요청을 보내 HTTP_PROXY 등의 특수 변수를 덮어쓸 수 있어, 프록시 설정 변조나 요청 가로채기로 이어질 가능성 있음

⚠️ 두 CVE 모두 원격에서 특별한 인증 없이 트리거 가능한 취약점입니다.

📋 PHP 7.4.x 이전 누적 수정 사항 요약 (참고용)

이번 7.4.32 릴리스는 이전 버전들의 패치를 모두 포함합니다. 주요 보안 관련 수정 이력은 다음과 같습니다:

버전CVE영향 컴포넌트
7.4.30CVE-2022-31626mysqlnd/PDO 패스워드 버퍼 오버플로우
7.4.30CVE-2022-31625pgsql pg_query_params() 미초기화 배열
7.4.28CVE-2021-21708Filter UAF (php_filter_float())
7.4.25CVE-2021-21703PHP-FPM 루트 프로세스 힙 오버플로우 (권한 상승)
7.4.24CVE-2021-21706ZipArchive 경로 탈출
7.4.21CVE-2021-21705FILTER_VALIDATE_URL SSRF 우회
7.4.21CVE-2021-21704PDO_Firebird 스택 버퍼 오버플로우
7.4.26CVE-2021-21707XML 함수 특수문자 경로 처리

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

⚠️ PHP 7.4 EOL 경고

PHP 7.4는 2022년 11월 28일 공식 EOL을 맞이합니다. 7.4.32는 사실상 마지막 보안 패치 중 하나가 될 가능성이 높습니다. 이후에는 어떠한 보안 패치도 제공되지 않습니다.

PHP 7.4 EOL: 2022년 11월 28일
현재 날짜 기준 남은 지원: 약 2개월 이내 (원고 작성 시점 기준)

Laravel 버전 호환성

Laravel 버전PHP 7.4 지원 여부권장 PHP
Laravel 9.x✅ 지원 (최소 PHP 8.0)PHP 8.1+
Laravel 8.x✅ 지원PHP 8.0+ 권장
Laravel 7.x✅ 지원 (EOL)
Laravel 6.x✅ 지원 (LTS, EOL)

Laravel 9.x는 PHP 8.0 이상을 요구하므로, Laravel 9를 사용 중이라면 이미 PHP 8.x 환경일 것입니다. 아직 PHP 7.4 + Laravel 8.x 이하를 운영 중인 팀은 즉각적인 업그레이드 계획이 필요합니다.

로컬 개발 환경별 영향

Laravel Valet (macOS)

  • Valet은 Homebrew PHP를 사용하므로 brew upgrade php@7.4로 패치 가능
  • 그러나 Homebrew에서 PHP 7.4 포뮬러의 유지 여부는 커뮤니티 지원에 따라 불확실
  • 권장: valet use php@8.1 또는 valet use php@8.2로 전환 시작
# Valet PHP 버전 전환 예시brew install php@8.1valet use php@8.1

Laravel Sail (Docker)

  • docker-compose.ymlcontext: ./vendor/laravel/sail/runtimes/8.x로 변경
  • PHP 버전은 docker/8.1/Dockerfile 등 Sail 런타임 디렉토리를 통해 관리됨
  • Sail 사용자는 런타임 이미지를 8.1 또는 8.2로 교체하는 것이 안전
# docker-compose.yml 예시 변경 context: ./vendor/laravel/sail/runtimes/8.1

일반 Docker 환경

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

CVE-2022-31629의 Laravel 특이사항

Laravel의 Request 객체는 Symfony HttpFoundation을 기반으로 하며, PHP의 $_SERVER 슈퍼글로벌을 래핑합니다. HTTP_PROXY 같은 변수가 조작될 경우 Laravel의 HTTP 클라이언트나 외부 요청 처리에 영향을 줄 수 있습니다. 웹훅 처리, 외부 API 프록시 연동, 또는 Http 파사드를 사용하는 코드에서 특히 주의가 필요합니다.


실무 체크리스트

🏠 로컬 개발 환경

  • php -v 명령으로 현재 PHP 버전 확인
  • PHP 7.4 사용 중이라면 7.4.32로 즉시 업데이트
    • Ubuntu/Debian: sudo apt update && sudo apt upgrade php7.4
    • macOS Homebrew: brew upgrade php@7.4
    • Valet: valet use php@7.4 후 버전 확인
  • composer.jsonrequire.php 버전 제약 조건 확인
  • PHP 8.1 또는 8.2 로컬 설치 및 테스트 환경 준비 시작

🧪 스테이징 환경

  • PHP 7.4.32 패치 적용 후 애플리케이션 전체 기능 테스트
  • phar:// 스트림을 사용하는 코드가 있다면 해당 기능 집중 테스트
  • php_uname() 또는 phpinfo()로 버전 업데이트 확인
  • Laravel 로그(storage/logs/laravel.log)에서 비정상 에러 확인
  • PHP-FPM 사용 시 설정 재확인 및 재시작 테스트
# 패치 버전 확인 php -r "echo PHP_VERSION;" # 예상 출력: 7.4.32
  • PHP 8.x 마이그레이션 스테이징 브랜치 생성 및 호환성 테스트 시작
    • composer require --dev rector/rector로 Rector를 통한 코드 자동 업그레이드 검토

🚀 프로덕션 환경

  • 즉시: PHP 7.4.32로 보안 패치 적용 (CVE-2022-31628, CVE-2022-31629)
  • 패치 전 현재 PHP 버전 및 설정 백업
  • 패치 후 PHP-FPM/웹서버 재시작
# Nginx + PHP-FPM 환경sudo systemctl restart php7.4-fpmsudo systemctl reload nginx
  • 애플리케이션 헬스체크 엔드포인트 모니터링
  • 2022년 11월 이전: PHP 8.1 프로덕션 마이그레이션 완료 목표 설정
  • 외부 입력을 통해 phar:// 파일을 처리하는 기능이 있다면 입력 검증 강화 (PHP 업데이트와 별개로 방어 코드 추가)
// 사용자 입력 경로에서 phar:// 스킴 사용 차단 예시 if (str_starts_with($userInput, 'phar://')) { abort(400, '허용되지 않는 파일 스킴입니다.'); }
  • WAF(Web Application Firewall) 또는 리버스 프록시 레벨에서 의심스러운 HTTP_PROXY 헤더 필터링 검토

📅 장기 마이그레이션 계획

  • PHP 8.1 또는 8.2 업그레이드 일정 수립 (목표: 2022년 11월 이전)
  • Laravel 최신 버전(9.x 또는 10.x) 호환성 검토
  • rector/rector를 활용한 PHP 8.x 문법 자동 마이그레이션 도구 도입
  • CI/CD 파이프라인에 PHP 8.x 테스트 단계 추가

📌 편집자 주: 이 문서는 드래프트입니다. CVE 심각도(CVSS 점수) 및 구체적인 익스플로잇 여부는 NIST NVD에서 추가 확인을 권장합니다. PHP 7.4 EOL 날짜(2022년 11월 28일)는 공식 발표 기준이며, 실제 게시 시점에 따라 이미 EOL이 도래했을 수 있습니다.