← PHP 소식
PHP 8.4.24보안

PHP 8.4.24 업데이트 안내

릴리스: 2026년 7월 30일

게시: 2026년 7월 31일

PHP 8.4.8 한국어 릴리스 공지

PHP 8.4.8 한국어 릴리스 공지


요약

PHP 8.4.8이 보안 릴리스로 출시되었습니다. 이번 버전에는 BCMath, PGSQL, Phar 등 여러 컴포넌트에서 발견된 심각한 보안 취약점에 대한 패치가 포함되어 있습니다. 보안 수정 사항이 다수 포함되어 있으므로, 모든 PHP 8.4.x 사용자는 즉시 업그레이드할 것을 강력히 권장합니다.

⚠️ 이 릴리스는 보안 릴리스입니다. 가능한 한 빠르게 업그레이드하세요.


주요 변경 사항

🔴 보안 수정 (Security Fixes)

CVE영역설명
CVE-2026-17544BCMathbccomp()에서 발생하는 Out-of-bounds 쓰기 취약점 (GHSA-x692-q9x7-8c3f)
CVE-2026-17543PGSQLE'...' 백슬래시를 이용한 SQL 인젝션 취약점 (GHSA-7qpv-r5mr-78m4)
CVE-2026-7260Phar재귀 심볼릭 링크를 통한 크래시 취약점 (GHSA-vc5h-9ppw-p5f3)
CVE-2026-9672GDlibgd 업그레이드를 통한 취약점 수정

🟡 버그 수정

BCMath / Calendar / Standard

  • gregoriantojd()juliantojd()에서 INT_MAX 연도 처리 시 정수 오버플로우 수정
  • base_convert() 출력이 최대 64자로 잘리던 문제 수정
  • array_multisort()에서 비교자가 배열을 변경할 때 발생하는 Use-after-free 수정
  • convert.base64-encode의 증분 플러시 시 데이터 손상 수정

Date

  • timelib 2022.17로 업데이트
  • 단일 공백 문자열 파싱 오류 수정
  • @ 표기법을 사용한 연도 0의 2월 Unix 타임스탬프 파싱 오류 수정
  • __debugInfo가 Date 클래스를 상속한 사용자 정의 클래스에서 동작하지 않던 문제 수정

DBA / DOM / ODBC / PDO_ODBC

  • DBA flatfile 핸들러의 잘못된 길이 필드로 인한 OOB 읽기 수정
  • 깊게 중첩된 Dom\XMLDocument 직렬화 시 스택 오버플로우 수정
  • PDO_ODBC: 힙 버퍼 오버리드, 오버플로우, Out-of-bounds 쓰기 등 다수의 메모리 안전 버그 수정

Intl

  • Locale::lookup() / locale_lookup()이 정규화 불가 언어 태그 처리 시 NULL 반환하도록 수정
  • Collator::__construct() / Spoofchecker::__construct() 중복 호출 시 메모리 누수 수정

Phar

  • .phar 매직 디렉터리 경로 처리의 일관성 개선

Reflection

  • ReflectionParameter::__construct()에서 선행 네임스페이스 구분자 처리 수정
  • ReflectionClass::hasProperty() / getProperty()가 부모의 private 프로퍼티를 가리는 동적 프로퍼티를 무시하던 문제 수정
  • ReflectionConstant::__toString()Reflection*::__toString()에서 null 바이트로 인한 출력 잘림 수정

Session / SPL / Streams / Zip

  • PHP 8.3과 8.5 사이의 세션 가비지 컬렉터 동작 차이 수정
  • class_parents(), class_implements(), class_uses()에서 선행 백슬래시 무시 처리
  • Persistent 스트림 키가 null 바이트에서 잘려 추상 Unix 도메인 소켓이 리소스를 공유하던 문제 수정
  • ZipArchive 관련 크래시 및 플래그 처리 오류 수정

OpenSSL

  • SSL 스트림 래퍼에서 블로킹 스트림 종료 시 타임아웃 처리 수정

Laravel 개발자에게 미치는 영향

🔴 즉시 대응 필요 — 보안 취약점

  1. PostgreSQL 사용자 (PGSQL/PDO): CVE-2026-17543은 E'...' 표기법을 통한 SQL 인젝션 취약점입니다. Laravel의 Eloquent/Query Builder를 사용하더라도 Raw 쿼리에서 사용자 입력을 직접 처리하는 경우 위험에 노출될 수 있습니다. 즉시 업그레이드가 필요합니다.

  2. BCMath 사용자: 금융 연산, 결제, 포인트 시스템 등 bccomp() 또는 BcMath\Number를 사용하는 애플리케이션은 Out-of-bounds 쓰기(CVE-2026-17544) 취약점의 영향을 받을 수 있습니다.

  3. Phar 파일 처리: CVE-2026-7260의 재귀 심볼릭 링크 크래시는 패키지 배포, 아티즌 커맨드, 또는 Phar 아카이브를 직접 처리하는 경우에 해당합니다.

Laravel 호환성

  • Laravel 11.x / 12.x: PHP 8.4.8은 완전히 호환됩니다.
  • Deprecated 기능 변경 없음: 이번 릴리스는 버그 수정 및 보안 패치 위주이며, API 변경이나 deprecation 추가는 없습니다.
  • OPcache 사용 시: 보안 수정이 적용된 바이너리로 교체 후 반드시 OPcache를 초기화하세요.

업그레이드 안내

로컬 개발 환경

Homebrew (macOS)

brew update brew upgrade php # 특정 버전 고정 해제 시 brew unlink php && brew link php php -v # PHP 8.4.8 확인

Laravel Valet

brew upgrade phpvalet restartvalet php  #  

Laravel Sail (Docker)

# docker-compose.yml 또는 .env에서 PHP 이미지 버전 확인 후 docker compose pull docker compose down && docker compose up -d docker compose exec laravel.test php -v

Docker (직접 관리)

# Dockerfile FROM php:8.4.8-fpm-alpine
docker pull php:8.4.8-fpmdocker compose up -d --build

composer.json PHP 버전 제약 확인

{ "require": { "php": "^8.4" } }

^8.4는 8.4.8을 포함한 모든 8.4.x 버전을 허용합니다. 제약 조건을 >=8.4.8로 설정하면 보안 패치가 적용된 버전 이상만 강제할 수 있습니다.


CI/CD 매트릭스 업데이트

GitHub Actions 예시

strategy: matrix: php-version: ['8.2', '8.3', '8.4'] steps: - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }}

setup-php 액션은 최신 패치 버전을 자동으로 설치합니다. 8.4로 지정하면 8.4.8이 자동 적용됩니다.


스테이징 / 프로덕션 서버

Ubuntu / Debian (ondrej/php PPA)

sudo apt updatesudo apt upgrade php8.4 php8.4-fpm php8.4-cli# 설치된 버전 확인php8.4 -v# PHP-FPM 재시작sudo systemctl restart php8.4-fpm# Nginx/Apache 재시작 (필요 시)sudo systemctl reload nginx

CentOS / AlmaLinux / Rocky Linux (Remi 저장소)

sudo dnf update php8.4*php -vsudo systemctl restart php-fpm

OPcache 초기화 (공통)

# PHP-FPM 재시작으로 OPcache 자동 초기화sudo systemctl restart php8.4-fpm# 또는 Laravel 아티즌으로 설정 캐시 재생성php artisan config:cachephp artisan route:cachephp artisan view:cache

업그레이드 체크리스트

  • 로컬 PHP 버전 업그레이드 완료 (php -v로 확인)
  • composer.json PHP 버전 제약 조건 확인
  • CI/CD 파이프라인 PHP 버전 매트릭스 확인
  • 스테이징 환경 배포 및 테스트 완료
  • 프로덕션 PHP 업그레이드 및 PHP-FPM 재시작
  • OPcache 초기화 확인
  • PostgreSQL 또는 BCMath 사용 애플리케이션의 경우 보안 패치 적용 여부 우선 확인

📎 공식 릴리스 노트: https://www.php.net/ChangeLog-8.php#8.4.8 📦 다운로드: https://www.php.net/downloads

php.net 공식 릴리스 노트 보기 →