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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.3.33은 2021년 11월 18일에 릴리스된 보안 패치 버전으로, XML 확장의 특수 문자 처리 취약점(CVE-2021-21707)을 수정합니다. PHP 7.3 브랜치의 마지막 보안 릴리스 중 하나이며, 해당 버전을 운영 중인 한국 Laravel 개발자라면 즉각적인 대응이 필요합니다. PHP 7.3은 2021년 12월 31일부로 공식 지원이 종료(EOL)되었으므로, 이번 업데이트를 계기로 PHP 8.x 마이그레이션 계획을 수립하는 것을 강력히 권장합니다.


핵심 내용

🔴 CVE-2021-21707 — XML 특수 문자 경로 처리 취약점 (7.3.33)

  • 대상 컴포넌트: PHP XML 확장 (ext/xml)
  • 취약점 요약: 특수 문자가 포함된 입력값이 XML 함수 내부의 경로(path) 처리를 비정상적으로 종료시키는 버그입니다.
  • 영향 범위: simplexml_load_file(), DOMDocument::load(), XMLReader::open() 등 파일 경로를 인자로 받는 XML 관련 함수 전반에 영향을 줄 수 있습니다.
  • Laravel 연관성: XML 기반 API 연동(SOAP, RSS 피드 파싱, 공공 API 등), Storage::get()으로 불러온 XML 파일 처리 로직에서 잠재적 위험이 존재합니다.

📋 7.3.33 이전 주요 보안 수정 이력 요약

PHP 7.3.33 릴리스 노트에는 이전 마이너 버전들의 변경 이력도 함께 포함되어 있습니다. 보안 관련 항목만 정리하면 다음과 같습니다.

버전CVE영향 컴포넌트심각도 수준
7.3.32CVE-2021-21703PHP-FPM매우 높음 (권한 상승)
7.3.31CVE-2021-21706Zip높음 (경로 탈출)
7.3.29CVE-2021-21705FILTER_VALIDATE_URL중간 (SSRF)
7.3.29CVE-2021-21704PDO_Firebird높음 (스택 오버플로우)
7.3.27CVE-2021-21702SOAP중간 (Null 역참조)
7.3.26CVE-2020-7071FILTER_VALIDATE_URL중간
7.3.23CVE-2020-7070Cookie 처리중간
7.3.23CVE-2020-7069OpenSSL높음
7.3.21CVE-2020-7068Phar중간
7.3.18CVE-2019-11048Core (multipart)높음 (OOM/DoS)

⚠️ 주의: PHP-FPM을 사용하는 서비스에서 7.3.32 미만 버전을 운영 중이라면 CVE-2021-21703(root 프로세스 권한 상승)이 가장 위험합니다. 즉각적인 업데이트가 필요합니다.


🔍 Laravel 개발자가 특히 주목해야 할 버그 수정

SSRF 관련 (CVE-2021-21705, CVE-2020-7071)

  • FILTER_VALIDATE_URL을 사용한 URL 검증 우회 가능성이 수정되었습니다.
  • Laravel의 filter_var($url, FILTER_VALIDATE_URL) 패턴이나 커스텀 Request Validation에서 URL 검증을 직접 구현한 경우 영향을 받을 수 있습니다.

ZipArchive 경로 탈출 (CVE-2021-21706)

  • ZipArchive::extractTo()가 지정된 목적지 디렉토리 외부로 파일을 추출하는 버그가 수정되었습니다.
  • Laravel의 파일 업로드 후 압축 해제 기능(Storage, 커스텀 Artisan 명령어 등)에서 직접적으로 영향을 받습니다.

imap_mail_compose() 헤더 인젝션

  • IMAP을 통한 메일 발송 로직에서 헤더 인젝션이 가능했던 버그가 수정되었습니다.
  • Laravel Mail과 직접 연관되지는 않지만, PHP IMAP 확장을 직접 사용하는 레거시 코드가 있다면 검토가 필요합니다.

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

⏰ EOL 경고 — 가장 중요한 메시지

PHP 7.3은 2021년 12월 31일부로 공식 지원이 완전히 종료되었습니다. 7.3.33은 사실상 이 브랜치의 마지막 보안 패치에 해당합니다. 현재 PHP 7.3을 사용 중이라면 보안 패치를 받을 수 없는 상태입니다.

PHP 7.3 EOL: 2021-12-31 ← 현재 모든 신규 취약점에 무방비 상태
PHP 7.4 EOL: 2022-11-28 ← 마찬가지로 EOL
PHP 8.0 EOL: 2023-11-26 ← EOL
PHP 8.1 보안 지원: 2025-12-31
PHP 8.2 활성 지원: 2025-12-31
PHP 8.3 활성 지원: 2026-12-31 (권장)

Laravel 버전 호환성

Laravel 버전최소 PHP 요구사항PHP 7.3 지원
Laravel 6.x (LTS)PHP 7.2+✅ (단, Laravel 6.x도 EOL)
Laravel 7.xPHP 7.2.5+✅ (EOL)
Laravel 8.xPHP 7.3+✅ (EOL)
Laravel 9.xPHP 8.0+
Laravel 10.xPHP 8.1+
Laravel 11.xPHP 8.2+

PHP 7.3을 사용 중이라면 Laravel 8.x 이하 버전만 사용 가능하며, 이 모든 버전은 현재 공식 보안 지원이 종료된 상태입니다.

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

Laravel Valet (macOS)

# 현재 PHP 버전 확인php -v# Homebrew를 통한 PHP 업그레이드brew upgrade php  #    # 또는 특정 버전 지정brew install php@8.3valet use php@8.3

Laravel Sail (Docker)

# docker-compose.yml 또는 .env 수정 # SAIL_PHP_VERSION=8.3 으로 변경 후 ./vendor/bin/sail build --no-cache

Docker 직접 사용 시

# FROM php:7.3-fpm → 변경 FROM php:8.3-fpm

AWS EC2 / 카페24 / NHN Cloud 등 한국 클라우드 환경

  • Amazon Linux 2: amazon-linux-extras install php8.2 또는 Remi 저장소 활용
  • Ubuntu: ondrej/php PPA를 통한 업그레이드 권장
  • 카페24 호스팅: 관리 패널 내 PHP 버전 변경 기능 확인 필요 (7.3 고정인 경우 호스팅사 문의)

실무 체크리스트

📍 즉시 확인 (오늘)

  • 운영 서버의 PHP 버전 확인: php -v 또는 phpinfo() 출력 확인
  • PHP 7.3.x 사용 중이라면 현재 버전이 7.3.33인지 확인
  • PHP-FPM 사용 여부 확인 — CVE-2021-21703 (권한 상승) 해당 여부 즉시 점검
  • ZipArchive::extractTo()를 사용하는 코드 존재 여부 검색:
    grep -r "extractTo" app/ --include="*.php"
  • FILTER_VALIDATE_URL을 사용한 URL 검증 코드 검색:
    grep -r "FILTER_VALIDATE_URL" app/ --include="*.php"

🖥️ 로컬/스테이징 환경

  • PHP 8.1 이상으로 업그레이드 테스트 환경 구성
  • composer.jsonrequire.php 버전 제약 조건 확인 및 업데이트
  • php artisan 명령으로 deprecated 경고 확인:
    php artisan about
  • PHP 8.x에서 제거된 기능 사용 여부 점검 (each(), create_function(), split() 등)
  • PHPStan 또는 Rector를 활용한 코드 호환성 자동 분석:
    composer require --dev rector/rectorvendor/bin/rector process --dry-run
  • 테스트 스위트 전체 실행하여 호환성 이슈 확인:
    php artisan test

🚀 운영(Production) 환경

  • PHP 7.3 사용 중이고 즉시 업그레이드가 불가한 경우: PHP 7.3.33으로 최소한 패치 업데이트 적용
  • 시스템 패키지 관리자를 통한 업데이트:
    # Ubuntu/Debian (ondrej/php PPA 사용 시) sudo apt update && sudo apt upgrade php7.3 # CentOS/RHEL (Remi 저장소 사용 시) sudo yum update php73
  • PHP-FPM 서비스 재시작 확인:
    sudo systemctl restart php7.3-fpm# 또는sudo service php-fpm restart
  • 업데이트 후 애플리케이션 정상 동작 확인 (헬스체크 엔드포인트 활용)
  • 중장기 계획: PHP 8.2 또는 8.3 + Laravel 10/11 마이그레이션 로드맵 수립
    • 담당자 지정 및 마이그레이션 일정 문서화
    • 스테이징 환경에서 PHP 8.x 호환성 검증 선행

🔒 보안 강화 추가 조치

  • XML 파싱 코드에서 외부 입력을 경로로 사용하는 경우 입력값 화이트리스트 검증 추가
  • ZipArchive 사용 시 추출 경로를 realpath()로 검증하는 로직 추가:
    // 예시: 경로 탈출 방지 $extractPath = realpath($destination); if (strpos($extractPath, $allowedBasePath) !== 0) { throw new \RuntimeException('허용되지 않은 경로입니다.'); }
  • WAF(웹 방화벽) 또는 보안 그룹 규칙에서 비정상적인 XML 요청 모니터링 설정 검토

📝 편집자 주: 이 문서는 초안(draft)입니다. PHP 7.3 EOL 날짜 및 각 CVE의 CVSS 점수는 공식 PHP 보안 공지 및 NVD(National Vulnerability Database)에서 재확인을 권장합니다. 운영 환경 업그레이드 전에는 반드시 스테이징 환경에서 충분한 검증을 거치시기 바랍니다.