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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.3.32는 PHP-FPM의 루트 프로세스에서 발생하는 메모리 범위 외 읽기/쓰기(OOB R/W) 취약점(CVE-2021-21703)을 수정한 보안 릴리스입니다. 이 취약점은 권한 상승(privilege escalation)으로 이어질 수 있어 즉각적인 업그레이드가 필요합니다. PHP 7.3 브랜치는 현재 보안 수정만 제공되는 단계이므로, 장기적으로는 PHP 8.x로의 마이그레이션을 검토해야 합니다.


핵심 내용

CVE-2021-21703: PHP-FPM 권한 상승 취약점 (PHP 7.3.32의 핵심 수정)

  • 영향 범위: PHP-FPM을 사용하는 모든 서버 환경
  • 취약점 유형: OOB(Out-of-Bounds) 읽기/쓰기 — PHP-FPM 루트 프로세스에서 발생
  • 위험도: 로컬 권한 상승(Local Privilege Escalation). 공격자가 서버에 대한 낮은 수준의 접근 권한만 있어도 루트 권한 탈취 가능
  • 수정자: Jakub Zelenka (PHP 보안팀)

⚠️ 주의: PHP-FPM은 마스터 프로세스가 root 권한으로 실행되고 워커 프로세스는 낮은 권한 사용자(예: www-data)로 실행되는 구조입니다. 이 취약점은 마스터 프로세스의 메모리를 조작할 수 있어, 결과적으로 루트 권한 실행이 가능해집니다.

7.3.31 이하의 주요 보안 수정 요약 (누적 패치)

현재 PHP 7.3.32 이전 버전을 사용 중이라면 아래 CVE들도 함께 해결됩니다:

버전CVE영향 컴포넌트위험 내용
7.3.31CVE-2021-21706ZipZipArchive::extractTo() 경로 탈출(Path Traversal) — 지정 디렉터리 외부에 파일 생성 가능
7.3.29CVE-2021-21705Core (Filter)FILTER_VALIDATE_URL의 SSRF 우회
7.3.29CVE-2021-21704PDO_Firebird스택 버퍼 오버플로우, SIGSEGV(다중 버그)
7.3.27CVE-2021-21702SOAPSoapClient Null 역참조
7.3.26CVE-2020-7071Standard (Filter)FILTER_VALIDATE_URL 유효하지 않은 userinfo 수락
7.3.23CVE-2020-7070Core쿠키 이름 인코딩 파싱으로 __Host- 쿠키 위조 가능
7.3.23CVE-2020-7069OpenSSLAES-CCM 12바이트 IV 암호화 오류
7.3.21CVE-2020-7068Phar해제된 해시 키 사용(Use-After-Free)
7.3.18CVE-2019-11048Core멀티파트 폼 데이터 OOM 및 임시 파일 미삭제

PHP 7.3 브랜치 상태

  • PHP 7.3은 2021년 12월 6일에 공식 지원 종료(EOL)가 예정되어 있습니다 (소스 데이터 기준, 7.3.32 출시 시점).
  • 7.3.32 이후 다음 버전인 7.3.33도 changelog에 언급되어 있으나, 보안 수정이 있는 최신 안정 릴리스는 7.3.32입니다.
  • EOL 이후에는 보안 패치가 제공되지 않으므로 PHP 8.0 또는 8.1로의 업그레이드 계획이 필요합니다.

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

Laravel 버전 호환성

PHP 7.3은 Laravel 6.x(LTS), 7.x, 8.x 초기 버전을 지원합니다. 그러나 현재 시점에서:

  • Laravel 8.x: PHP 7.3 지원하나, 최신 기능(특히 PHP 8.x 전용 문법)은 제한됨
  • Laravel 9.x 이상: PHP 8.0 이상 필수 — PHP 7.3에서는 실행 불가

Laravel 8.x 이하를 PHP 7.3에서 운영 중이라면, 이번 보안 패치는 필수이며 동시에 PHP 8.x + Laravel 9.x/10.x 업그레이드 로드맵을 수립해야 합니다.

PHP-FPM 사용 환경별 위험도

환경위험도비고
공유 호스팅 (PHP-FPM)🔴 높음타 테넌트가 권한 상승 공격 시도 가능
단독 서버 (PHP-FPM + Nginx/Apache)🟠 중간외부 공격 경로가 제한적이나 내부 취약 앱이 있을 경우 위험
Docker/Laravel Sail🟡 낮음~중간컨테이너 격리로 위험 경감, 그러나 이미지 업데이트 권장
Laravel Valet (macOS 개발)🟡 낮음로컬 개발 환경, 외부 노출 없으면 즉각 위험 낮음. 단, 팀 공유 환경이면 업데이트 필요

Laravel Sail 사용자

sail 환경은 php:7.3-fpm 기반 Docker 이미지를 사용할 수 있습니다. Docker Hub의 공식 PHP 이미지가 7.3.32로 업데이트되었는지 확인 후 이미지를 재빌드해야 합니다.

# Sail 환경에서 이미지 재빌드./vendor/bin/sail build --no-cache

Laravel Valet 사용자

macOS에서 Homebrew로 PHP를 관리하는 경우:

brew upgrade php@7.3# 또는 PHP 8.x로 전환 검토brew install php@8.1valet use php@8.1

FILTER_VALIDATE_URL SSRF 우회 (CVE-2021-21705) — Laravel 개발자 주목

Laravel에서 URL 유효성 검사 시 filter_var($url, FILTER_VALIDATE_URL)을 직접 사용하거나, 이를 내부적으로 사용하는 패키지가 있다면 SSRF 공격에 노출될 수 있습니다. Laravel의 url 검증 규칙도 내부적으로 이 함수를 활용하므로 확인이 필요합니다.

ZipArchive 경로 탈출 (CVE-2021-21706) — 파일 업로드 기능 주의

Laravel 애플리케이션에서 ZIP 파일 업로드 및 압축 해제 기능을 구현한 경우, 7.3.31 이하 버전에서는 악의적으로 조작된 ZIP 파일을 통해 서버의 임의 경로에 파일이 생성될 수 있습니다.


실무 체크리스트

로컬 개발 환경

  • php -v 명령으로 현재 PHP 버전 확인
  • PHP 7.3 사용 중이라면 7.3.32로 업데이트
    # Ubuntu/Debian (Ondrej PPA) sudo apt update && sudo apt upgrade php7.3 # macOS Homebrew brew upgrade php@7.3 # CentOS/RHEL (Remi Repository) sudo yum update php73
  • Laravel Sail 사용 시 Docker 이미지 재빌드
    ./vendor/bin/sail build --no-cache./vendor/bin/sail up -d
  • PHP 8.x 마이그레이션 계획 수립 (PHP 7.3 EOL 대비)

스테이징 환경

  • PHP 버전 업데이트 후 php-fpm 서비스 재시작 확인
    sudo systemctl restart php7.3-fpmsudo systemctl status php7.3-fpm
  • Laravel 애플리케이션 정상 동작 확인 (php artisan config:cache, route:cache 재실행)
  • ZIP 파일 업로드/해제 기능이 있다면 회귀 테스트 수행
  • FILTER_VALIDATE_URL을 사용하는 커스텀 유효성 검사 로직 재검토
  • PHPUnit 테스트 전체 실행으로 회귀 이슈 확인

프로덕션 환경

  • 즉시: PHP 7.3.32로 업데이트 — CVE-2021-21703(권한 상승)은 즉각 조치 필요
  • 업데이트 전 스냅샷/백업 생성
  • PHP-FPM 재시작 전 트래픽이 적은 시간대 선택 (무중단 배포 고려)
    # 무중단 PHP-FPM 재시작 (graceful)sudo kill -USR2 $(cat /run/php/php7.3-fpm.pid)# 또는sudo systemctl reload php7.3-fpm
  • 업데이트 후 php -v로 버전 확인
    php -v# PHP 7.3.32 (cli) ... 확인
  • Nginx/Apache 에러 로그 모니터링 (업데이트 직후 30분)
  • Laravel 로그(storage/logs/laravel.log) 이상 여부 확인
  • 중장기: PHP 7.3 EOL(2021년 12월) 대비 PHP 8.0/8.1 마이그레이션 일정 확정
    • Laravel 버전에 따른 PHP 8.x 호환성 확인
    • rector/rector 패키지를 활용한 PHP 8.x 코드 자동 마이그레이션 검토
    • phpstan 또는 larastan으로 타입 안전성 사전 점검

Docker/컨테이너 환경 추가 확인

  • Dockerfile에서 PHP 베이스 이미지 태그 확인
    # 버전을 고정하여 사용 중인 경우 업데이트 FROM php:7.3.32-fpm # 또는 PHP 8.x로 전환 검토 FROM php:8.1-fpm
  • CI/CD 파이프라인의 PHP 버전 고정 설정 업데이트
  • Kubernetes/ECS 등 오케스트레이션 환경에서 롤링 업데이트 적용

⚠️ 편집자 검토 메모: PHP 7.3의 정확한 EOL 날짜(2021년 12월 6일)는 소스 데이터에 명시되지 않았으므로 공식 PHP 지원 일정(https://www.php.net/supported-versions.php)에서 재확인 후 본문에 반영하시기 바랍니다. Laravel 버전별 PHP 요구사항도 최신 공식 문서 기준으로 검토를 권장합니다.