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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 8.0.25는 2022년 10월 27일 릴리스된 보안 패치 버전으로, imageloadfont()의 OOB 읽기 취약점(CVE-2022-31630)과 hash_update()의 버퍼 오버플로우(CVE-2022-37454) 두 가지 심각한 보안 결함을 수정합니다. PHP 8.0 브랜치를 운영 중인 한국 Laravel 개발자라면 즉시 업그레이드를 검토해야 하며, 장기적으로는 PHP 8.0의 공식 지원 종료 일정도 함께 고려해야 합니다.


핵심 내용

🔴 보안 수정 사항 (즉시 대응 필요)

CVE-2022-37454 — hash_update() 버퍼 오버플로우 (Hash 모듈)

  • 심각도: 매우 높음
  • hash_update() 함수에 과도하게 긴 파라미터를 전달할 경우 버퍼 오버플로우가 발생합니다.
  • 공격자가 해시 연산을 수행하는 엔드포인트에 악의적인 입력을 전달할 경우, 원격 코드 실행(RCE) 가능성이 존재합니다.
  • Laravel 애플리케이션에서 hash(), hash_update(), hash_hmac() 등을 직접 사용하거나, 파일 무결성 검증, 서명 검증 로직에 활용하는 경우 직접적인 영향을 받습니다.

CVE-2022-31630 — imageloadfont() OOB 읽기 (GD 모듈)

  • 심각도: 높음
  • imageloadfont() 함수의 입력 유효성 검증 부재로 인해 경계 밖 메모리 읽기(Out-of-Bounds Read)가 발생합니다.
  • 이미지 처리 기능(프로필 이미지 업로드, 썸네일 생성, 캡차 등)을 제공하는 Laravel 애플리케이션에서 사용자 업로드 파일을 GD로 처리하는 경우 영향을 받습니다.
  • Intervention Image 등 GD 기반 이미지 패키지를 사용하는 프로젝트도 간접적으로 영향권에 있습니다.

🟡 기능 버그 수정 사항 (8.0.25 포함 누적 패치)

PHP 8.0.25는 이전 마이너 버전들(8.0.15 ~ 8.0.24)의 누적 수정 사항도 포함합니다. 주요 기능 수정 내역은 다음과 같습니다.

모듈수정 내용Laravel 연관성
Sessionsession_create_id() 실패 문제 (커스텀 save handler)커스텀 세션 드라이버 사용 시
Streamsstream_select() 예외 처리 개선소켓/스트림 기반 큐, WebSocket
FPM데몬 리로드 후 access.log stderr 로깅 오류 수정PHP-FPM 운영 환경
OPcacheini_get() 최적화 오류, 무한 루프 CPU 100% 버그 수정모든 프로덕션 환경
PDO_PGSQLLarge Object 리소스 잘못된 종료 수정PostgreSQL 사용 프로젝트
MBStringmb_send_mail() 헤더 LF 처리 오류 수정메일 발송 기능
MySQLndMariaDB 버전 접두사 파싱 오류 수정MariaDB + Laravel 조합
PharCVE-2022-31628: Quine gzip 파일을 이용한 DoS 수정Composer 의존 환경 전반

참고: CVE-2022-31629(HTTP 변수명 충돌), CVE-2022-31626(mysqlnd 패스워드 버퍼 오버플로우), CVE-2022-31625(pg_query_params 미초기화 배열), CVE-2021-21708(Filter UAF) 등은 이전 패치 버전(8.0.20~8.0.24)에서 이미 수정되어 8.0.25에 포함되어 있습니다. 8.0.25 미만 버전을 사용 중이라면 이 모든 취약점에 노출된 상태입니다.


⚠️ PHP 8.0 지원 종료 일정 안내

PHP 8.0은 2023년 11월 26일부로 공식 지원이 종료(End of Life)됩니다. 8.0.25는 사실상 마지막 패치들 중 하나이며, 이후에는 보안 업데이트가 제공되지 않습니다. 장기적으로는 PHP 8.1 또는 8.2로의 마이그레이션을 계획해야 합니다.


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

Laravel 버전 호환성

PHP 8.0.25는 버그픽스/보안 패치이므로 API 변경이 없습니다. 현재 PHP 8.0을 사용하는 Laravel 8.x, 9.x 프로젝트는 별도의 코드 수정 없이 PHP만 업그레이드하면 됩니다.

Laravel 버전PHP 8.0 지원비고
Laravel 8.x✅ 지원보안 패치만 지원 중
Laravel 9.x✅ 지원PHP 8.0 ~ 8.2
Laravel 10.x❌ 미지원PHP 8.1 이상 필요

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

Laravel Valet (macOS)

# Homebrew를 통한 PHP 업그레이드brew upgrade php@8.0# Valet 재시작valet restart

Homebrew의 php@8.0 포뮬러가 8.0.25를 반영할 때까지 시간 차이가 있을 수 있습니다. php --version으로 반드시 확인하세요.

Laravel Sail (Docker)

docker-compose.yml에서 사용하는 PHP 이미지를 확인하세요.

# docker-compose.yml services: laravel.test: build: context: ./vendor/laravel/sail/runtimes/8.0

공식 sail 이미지는 php:8.0-fpm 기반 Dockerfile을 사용합니다. Docker Hub의 php:8.0-fpm 이미지가 8.0.25로 업데이트되었는지 확인 후 재빌드하세요.

# 이미지 재빌드./vendor/bin/sail build --no-cache./vendor/bin/sail up -d

일반 Docker 환경

# Dockerfile FROM php:8.0-fpm # php:8.0.25-fpm 태그가 있는 경우 명시적 지정 권장
docker pull php:8.0-fpmdocker-compose up -d --build

한국 클라우드/호스팅 환경

  • NHN Cloud, KakaoCloud, Naver Cloud: 관리형 PHP 환경을 사용하는 경우 콘솔에서 PHP 버전 업데이트 가능 여부를 확인하세요.
  • 카페24, 가비아 등 공유 호스팅: 호스팅 업체에 PHP 8.0.25 적용 일정을 문의하거나, 지원하지 않는 경우 VPS/컨테이너 환경으로 전환을 검토하세요.

이미지 처리 기능 보유 프로젝트 긴급 점검

CVE-2022-31630의 영향을 받는 패턴:

// 사용자 업로드 폰트 파일을 직접 처리하는 경우 취약 $font = imageloadfont($userUploadedFontPath); // ⚠️ 취약 // Intervention Image 사용 시 내부적으로 GD 사용 Image::make($file)->font($fontPath, ...); // 간접 영향 가능

실무 체크리스트

🖥️ 로컬 환경

  • php --version 명령으로 현재 PHP 버전 확인
  • PHP 8.0 사용 중이라면 8.0.25로 업그레이드 (Homebrew, apt, yum 등)
  • Laravel Valet 사용 시 valet restart 후 버전 재확인
  • Laravel Sail 사용 시 sail build --no-cachephp --version 확인
  • phpinfo() 또는 php -m으로 GD, Hash, Session 모듈 로드 확인

🧪 스테이징 환경

  • PHP 8.0.25 업그레이드 후 PHP-FPM 재시작 (systemctl restart php8.0-fpm)
  • imageloadfont() 또는 GD 관련 기능이 있다면 회귀 테스트 실행
  • hash_update() 관련 커스텀 로직 동작 확인
  • 커스텀 세션 save handler 사용 중이라면 session_create_id() 호출 테스트
  • OPcache 활성화 환경이라면 캐시 초기화 후 정상 동작 확인
    php -r "opcache_reset();" # 또는 php-fpm 재시작
  • MariaDB + MySQLnd 조합 사용 시 DB 연결 및 쿼리 정상 동작 확인

🚀 프로덕션 환경

  • 배포 전 스테이징에서 충분한 검증 완료 여부 확인
  • 배포 시간대 선정 (트래픽 최소 시간대 권장)
  • PHP 업그레이드 전 현재 버전 및 설정 백업
    php --version > php_version_backup.txt php --ini > php_ini_backup.txt
  • PHP-FPM 무중단 재시작 (reload) 적용
    sudo systemctl reload php8.0-fpm
  • 업그레이드 후 애플리케이션 헬스체크 엔드포인트 응답 확인
  • 에러 로그 모니터링 (최소 30분 이상)
    tail -f /var/log/php8.0-fpm.logtail -f storage/logs/laravel.log
  • Sentry, Bugsnag 등 에러 트래킹 도구에서 신규 에러 발생 여부 확인

📅 중장기 계획

  • PHP 8.0 EOL(2023년 11월) 전에 PHP 8.1 또는 8.2 마이그레이션 계획 수립
  • Laravel 10.x 도입을 목표로 한다면 PHP 8.1 이상 업그레이드 로드맵 작성
  • CI/CD 파이프라인의 PHP 버전 매트릭스 업데이트 (GitHub Actions, GitLab CI 등)
    # GitHub Actions 예시 strategy: matrix: php: ['8.0', '8.1', '8.2']

⚠️ 편집자 검토 필요: PHP 8.0 정확한 EOL 날짜(2023년 11월 26일)는 공식 문서에서 재확인을 권장합니다. 또한 각 클라우드/호스팅 업체의 PHP 버전 지원 현황은 변동될 수 있으므로 최신 공지를 참조하세요.