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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 8.0.28은 2023년 2월 14일 릴리스된 보안 패치 버전으로, password_verify() 함수의 심각한 인증 우회 취약점(CVE-2023-0567)을 포함한 3개의 CVE를 수정합니다. PHP 8.0 브랜치는 EOL(End of Life)이 임박한 상태이므로, 한국 Laravel 개발자들은 즉각적인 보안 패치 적용과 함께 PHP 8.1 또는 8.2로의 업그레이드 계획을 수립해야 합니다.


핵심 내용

🔴 긴급: CVE-2023-0567 — password_verify() 인증 우회

// 취약한 PHP 8.0.27 이하 버전에서 발생 가능한 시나리오 $hash = '$2y$10$invalidhashstring...'; password_verify('anypassword', $hash); // true 반환 가능 (비정상)
  • 영향 범위: 특정 형식의 해시값과 함께 사용 시 password_verify()가 항상 true를 반환하는 버그
  • Laravel 영향: Laravel의 Hash::check(), Auth::attempt(), password 필드 기반 인증 전체에 영향을 줄 수 있음
  • 심각도: 인증 시스템 전체를 우회할 수 있는 Critical 수준의 취약점
  • 참고: 공격자가 악의적으로 조작된 해시값을 데이터베이스에 주입할 수 있는 상황에서 특히 위험

🔴 긴급: CVE-2023-0568 — 1바이트 배열 오버런

  • 영향 범위: 경로 처리(path resolve) 코드의 1바이트 배열 경계 초과 오류
  • 악용 가능성: 메모리 손상을 통한 코드 실행 가능성 존재
  • 영향 컴포넌트: PHP Core의 공통 경로 처리 로직 — include, require, 파일 시스템 함수 전반에 잠재적 영향

🔴 긴급: CVE-2023-0662 — 멀티파트 요청 파싱 DoS

POST /upload HTTP/1.1
Content-Type: multipart/form-data; boundary=...
# 악의적으로 구성된 멀티파트 바디 → 서버 자원 고갈 유발
  • 영향 범위: 파일 업로드 또는 멀티파트 폼 데이터를 처리하는 모든 엔드포인트
  • Laravel 영향: Request::file(), $request->multipart, Livewire 파일 업로드, API 파일 전송 등
  • 위험: PHP-FPM 환경에서 서비스 전체 다운 유발 가능

PHP 8.0 EOL 현황

버전활성 지원 종료보안 지원 종료
PHP 8.02022년 11월 26일2023년 11월 26일
PHP 8.12023년 11월 25일2025년 12월 31일
PHP 8.22024년 12월 8일2026년 12월 31일

⚠️ PHP 8.0은 2023년 11월 이후 보안 업데이트가 전혀 제공되지 않습니다. 이번 8.0.28이 사실상 마지막 주요 보안 패치가 될 가능성이 높습니다.


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

인증 시스템 즉각 점검 필요

Laravel의 기본 인증 스택(Auth::attempt, Hash::check, Sanctum, Passport)은 내부적으로 PHP의 password_verify()를 사용합니다. CVE-2023-0567은 특정 조건에서 비밀번호 검증 없이 로그인이 허용될 수 있음을 의미합니다.

// Laravel 내부 동작 (Illuminate/Auth/EloquentUserProvider.php) public function validateCredentials(UserContract $user, array $credentials) { return $this->hasher->check( $credentials['password'], // 사용자 입력 $user->getAuthPassword() // DB에 저장된 해시 ); // → 내부적으로 password_verify() 호출 }

파일 업로드 기능 보유 서비스 위험

CVE-2023-0662는 멀티파트 파싱 단계에서 발생하므로, WAF나 미들웨어 차단 이전에 이미 PHP 레벨에서 자원이 소모됩니다. 다음 기능을 사용하는 서비스는 즉각 패치 필요:

  • $request->file() 사용 엔드포인트
  • Livewire 파일 업로드 컴포넌트
  • Laravel Media Library, Spatie 관련 패키지
  • REST API의 multipart/form-data 수신부

로컬 개발 환경별 업데이트 방법

Laravel Valet (macOS)

# Homebrew로 PHP 업그레이드brew upgrade php@8.0# 또는 권장: PHP 8.1/8.2로 전환brew install php@8.2valet use php@8.2valet restart

Laravel Sail (Docker)

# docker-compose.yml의 PHP 이미지 버전 확인# sail/app:php8.0 → sail/app:php8.2 변경 권장# 현재 버전 확인./vendor/bin/sail php -v# 이미지 재빌드./vendor/bin/sail build --no-cache./vendor/bin/sail up -d

운영 서버 (Ubuntu/CentOS)

# Ubuntu (ondrej/php PPA 사용 시)sudo apt updatesudo apt install php8.0=8.0.28*# 버전 확인php -v# PHP 8.0.28 확인 필요# PHP-FPM 재시작sudo systemctl restart php8.0-fpm

Laravel 버전별 PHP 8.2 호환성 참고

Laravel 버전PHP 8.0PHP 8.1PHP 8.2
9.x
10.x

Laravel 10을 사용 중이라면 이미 PHP 8.1 이상이 요구되므로 PHP 8.0 취약점에 직접 노출되지 않습니다. Laravel 9.x + PHP 8.0 조합이 가장 위험한 상황입니다.


실무 체크리스트

✅ 즉시 조치 (24시간 이내)

  • 운영 서버 PHP 버전 확인: php -v | grep "8.0"
  • PHP 8.0 사용 중이라면 8.0.28로 즉시 업데이트
  • PHP-FPM 서비스 재시작 후 버전 재확인
  • 로드밸런서 뒤 다중 서버 환경이라면 전체 노드 업데이트 확인
# 운영 중인 PHP 버전 일괄 확인 (다중 서버) for host in web01 web02 web03; do echo "$host: $(ssh $host 'php -v | head -1')" done

✅ 단기 조치 (1주일 이내)

  • password_verify() 직접 호출 코드 감사 (커스텀 인증 로직 포함)
  • 파일 업로드 엔드포인트에 요청 크기 제한 설정 확인
// config/filesystems.php 또는 nginx.conf // nginx: client_max_body_size 10M; // Laravel 미들웨어로 추가 방어 Route::post('/upload', [UploadController::class, 'store']) ->middleware('throttle:10,1'); // DoS 완화
  • Nginx/Apache 레벨 멀티파트 크기 제한 재검토
  • 로그에서 비정상 인증 성공 패턴 탐지
# Laravel 로그에서 의심스러운 로그인 확인 grep "Authenticated" storage/logs/laravel.log | \ awk '{print $1, $2}' | sort | uniq -c | sort -rn | head -20

✅ 중기 계획 (1개월 이내)

  • PHP 8.1 또는 8.2로 업그레이드 계획 수립 (PHP 8.0 EOL: 2023년 11월)
  • 스테이징 환경에서 PHP 8.1/8.2 호환성 테스트
  • composer.json의 PHP 버전 제약 업데이트
// composer.json { "require": { "php": "^8.1" // 8.0 → 8.1 상향 } }
  • CI/CD 파이프라인 PHP 버전 매트릭스 업데이트
# GitHub Actions 예시 strategy: matrix: php: ['8.1', '8.2'] # '8.0' 제거
  • Docker 기반 운영 환경이라면 베이스 이미지 교체 계획 수립
  • 팀 내 PHP EOL 일정 공유 및 업그레이드 일정 확정

✅ 보안 모니터링

  • php.net 보안 공지 RSS 구독 설정
  • Dependabot 또는 Renovate Bot으로 PHP 버전 자동 추적
  • 운영 서버 패키지 자동 보안 업데이트 정책 검토 (unattended-upgrades)

⚠️ 편집자 검토 사항: CVE-2023-0567의 정확한 트리거 조건(특정 해시 형식)에 대한 세부 내용은 공개된 PoC가 나올 경우 추가 설명이 필요할 수 있습니다. 현재 공개된 정보 기준으로 작성되었으며, NVD 또는 PHP 공식 보안 어드바이저리에서 CVSS 점수 확인 후 심각도 표현을 조정하시기 바랍니다.