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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 8.3.19가 2025년 3월 13일 보안 릴리스로 공개되었습니다. 이번 릴리스에는 HTTP 스트림 래퍼 관련 5개의 CVE 보안 취약점 패치가 포함되어 있으며, Use-After-Free(UAF), 메모리 누수, JIT 크래시 등 다수의 안정성 버그도 함께 수정되었습니다. Laravel 프로덕션 환경을 운영 중인 한국 개발자라면 즉시 업그레이드를 검토해야 합니다.


핵심 내용

🔐 보안 취약점 (CVE) — 최우선 확인 필요

이번 8.3.19에서 패치된 보안 이슈는 다음과 같습니다.

CVEGHSA영향 범위내용
CVE-2024-11235GHSA-rwp7-7vc6-8477Corephp_request_shutdown의 Reference Counting 오류로 인한 Use-After-Free
CVE-2025-1219GHSA-p3x9-6h7p-cgfcLibXML리다이렉트 요청 시 libxml 스트림이 잘못된 content-type 헤더를 사용하는 문제
CVE-2025-1736GHSA-hgf54-96fm-v528StreamsHTTP 래퍼 헤더 검사에서 Basic Auth 헤더가 누락될 수 있는 문제
CVE-2025-1861GHSA-52jp-hrpf-2jffStreamsHTTP 래퍼가 리다이렉트 Location을 1024바이트로 잘라내는 문제
CVE-2025-1734GHSA-pcmh-g36c-qc44Streams콜론(:)이 없는 헤더에 대해 실패 처리가 되지 않는 문제
CVE-2025-1217GHSA-v8xr-gpvj-cx9gStreamshttp 스트림 래퍼 헤더 파서가 folded 헤더를 처리하지 못하는 문제

주목: CVE-2024-11235(Use-After-Free)는 심각도가 높을 수 있으며, 특히 장기 실행 프로세스(PHP-FPM, Laravel Octane, FrankenPHP 등)에서 메모리 손상으로 이어질 수 있습니다.

LibXML 보안 이슈(GHSA-wg4p-4hqh-c3g9): #72714의 재발 이슈로, XML 파싱을 활용하는 Laravel 애플리케이션(예: XML 기반 API 연동, SimpleXML, DOMDocument 사용 코드)은 영향을 받을 수 있습니다.


🐛 주요 버그 수정 — 안정성 개선

Core / Opcache (JIT)

  • 스택 오버플로우 감지 로직 오류 수정 (GH-17623)
  • UnhandledMatchError에서 zend.exception_ignore_args=1 설정이 무시되던 문제 수정 (GH-17618)
  • JIT 관련 크래시 4건 수정 — 동일 트레이트를 여러 클래스가 사용할 때 발생하는 JIT 크래시 (GH-17654), Tracing JIT 메모리 할당 오류 (GH-17868) 등 포함
  • fast_long_{add,sub}_function 폴백 경로 수정

실무 영향이 높은 수정 사항

  • FPM: Apache ProxyPass와 함께 사용 시 인코딩된 PATH_INFO가 잘못 처리되던 문제 수정 (GH-17643) — Nginx가 아닌 Apache + PHP-FPM 조합을 사용하는 환경에 해당
  • BCMath: bcmul() 메모리 누수 수정 (GH-17398) — 금융/정산 로직에서 bcmul()을 반복 호출하는 경우 누적 메모리 증가 방지
  • PDO_SQLite: 미실행 상태의 statement에서 getColumnMeta() 호출 시 segfault 수정 (GH-17837)
  • Phar: PharFileInfo 참조 카운팅 버그 수정 (GH-17808)
  • GD: memory_limit=2M 환경에서 imagepalettetotruecolor() 크래시 수정 (GH-17772)
  • Zlib: 대용량 파일 zlib 처리 지원 개선

📦 이전 패치 릴리스 포함 내용 (누적 변경)

8.3.19는 8.3.16 → 8.3.17 → 8.3.19로 이어지는 누적 패치입니다. 만약 8.3.15 이하를 사용 중이라면 아래 내용도 포함됩니다.

  • 8.3.17: PDO UAF/메모리 누수, Phar offset 오버플로우, Session NULL 역참조, SNMP segfault, Intl 세그폴트(Docker 환경)
  • 8.3.16: proc_open() cmd.exe 하이재킹 방어(Windows), Curl open_basedir 우회 취약점(GH-16802), DOM UAF, FPM SIGSEGV 등

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

Laravel 버전별 호환성

PHP 8.3.19는 하위 호환성을 유지하는 패치 릴리스입니다. Laravel 10.x, 11.x 모두 PHP 8.3을 공식 지원하므로 코드 변경 없이 업그레이드 가능합니다.

보안 긴급도

사용 패턴긴급도
file_get_contents(), Http::get() 등 외부 HTTP 요청 (스트림 래퍼 경유)높음 — CVE-2025-1736, 1861, 1734, 1217 직접 영향
XML/HTML 파싱 (DOMDocument, SimpleXML, libxml)높음 — LibXML CVE-2025-1219 영향
Laravel Octane (Swoole/RoadRunner/FrankenPHP) 장기 실행높음 — CVE-2024-11235 UAF 영향 가능성
JIT 활성화 운영 환경중간 — JIT 크래시 버그 다수 수정됨
BCMath 반복 사용 (정산, 환율 계산 등)중간 — 메모리 누수 수정
일반 CRUD 위주 애플리케이션보통 — 업그레이드 권장

로컬/개발 환경별 참고 사항

Laravel Valet (macOS)

# Homebrew를 통해 PHP 업그레이드brew upgrade php@8.3valet restartphp -v  # 8.3.19 

Laravel Sail (Docker)

  • Sail의 기본 이미지(laravelsail/php83-composer)는 공식 PHP 이미지를 기반으로 합니다.
  • 새 이미지가 Docker Hub에 반영된 이후 sail build --no-cache로 재빌드 필요합니다.
  • 직접 Dockerfile을 관리하는 경우 베이스 이미지 태그 또는 PHP 소스를 8.3.19로 명시적으로 고정하세요.

Docker 자체 관리 환경

# 예시: 공식 이미지 사용 시 FROM php:8.3.19-fpm-alpine
  • Docker Hub의 php:8.3-fpm 태그는 최신 패치를 자동 반영하지만, php:8.3.18-fpm 처럼 버전을 고정한 경우 반드시 수동 업데이트가 필요합니다.

서버 직접 운영 (Ubuntu/CentOS + Ondrej PPA 등)

# Ubuntu + Ondrej PPAsudo apt-get updatesudo apt-get upgrade php8.3php8.3 -v# 서비스 재시작sudo systemctl restart php8.3-fpmsudo systemctl restart nginx  #  apache2

실무 체크리스트

로컬 / 개발 환경

  • php -v로 현재 PHP 버전 확인
  • Homebrew(brew upgrade php), Valet 재시작 또는 Docker 이미지 재빌드
  • composer check-platform-reqs로 의존성 호환 확인
  • JIT 활성화 여부 확인: php -i | grep opcache.jit
  • BCMath, GD, PDO_SQLite, Phar 등 사용 중인 익스텐션 동작 테스트

스테이징 환경

  • PHP 8.3.19 업그레이드 후 전체 테스트 스위트 실행 (php artisan test)
  • php-fpm 설정 변경 없이 재시작 후 정상 동작 여부 확인
  • HTTP 외부 요청 코드(Http::, file_get_contents(), fopen() 래퍼) 관련 테스트 집중 점검
  • XML/DOM 파싱 로직이 있는 경우 회귀 테스트 수행
  • Laravel Octane 사용 시 워커 재시작 후 메모리 사용량 모니터링
  • 에러 로그에서 segfault, UAF 관련 신규 오류 없는지 확인

프로덕션 환경

  • 롤링 업데이트 또는 블루/그린 배포 방식으로 무중단 업그레이드 계획 수립
  • PHP-FPM worker 수 및 pm.max_requests 설정 점검 (UAF 패치 적용 전 worker 교체 주기 단축 고려)
  • 배포 후 php -vphpinfo() 또는 헬스체크 엔드포인트로 버전 확인
  • APM(New Relic, Datadog, Sentry 등)에서 배포 전후 에러율, 메모리 사용량 비교 모니터링
  • 외부 HTTP API 연동 서비스의 경우 스트림 관련 CVE 패치 적용 확인 후 배포
  • 배포 후 최소 24시간 PHP-FPM 로그 및 시스템 로그(/var/log/php8.3-fpm.log) 모니터링

⚠️ 주의: CVE-2024-11235(Use-After-Free)는 PHP 요청 종료 시점에 발생하는 취약점으로, 장기 실행 서버(Octane, Swoole)에서 더 높은 위험성을 가질 수 있습니다. 프로덕션 업그레이드를 서두르되 스테이징 검증을 반드시 거치세요.


본 문서는 PHP 8.3.19 공식 릴리스 노트를 기반으로 작성된 초안입니다. CVE 심각도 등급은 공식 NVD/CVSS 평가 이후 변경될 수 있으므로, 최신 보안 공지를 병행하여 확인하시기 바랍니다.