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-17544 | BCMath | bccomp()에서 발생하는 Out-of-bounds 쓰기 취약점 (GHSA-x692-q9x7-8c3f) |
| CVE-2026-17543 | PGSQL | E'...' 백슬래시를 이용한 SQL 인젝션 취약점 (GHSA-7qpv-r5mr-78m4) |
| CVE-2026-7260 | Phar | 재귀 심볼릭 링크를 통한 크래시 취약점 (GHSA-vc5h-9ppw-p5f3) |
| CVE-2026-9672 | GD | libgd 업그레이드를 통한 취약점 수정 |
🟡 버그 수정
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 개발자에게 미치는 영향
🔴 즉시 대응 필요 — 보안 취약점
-
PostgreSQL 사용자 (PGSQL/PDO): CVE-2026-17543은
E'...'표기법을 통한 SQL 인젝션 취약점입니다. Laravel의 Eloquent/Query Builder를 사용하더라도 Raw 쿼리에서 사용자 입력을 직접 처리하는 경우 위험에 노출될 수 있습니다. 즉시 업그레이드가 필요합니다. -
BCMath 사용자: 금융 연산, 결제, 포인트 시스템 등
bccomp()또는BcMath\Number를 사용하는 애플리케이션은 Out-of-bounds 쓰기(CVE-2026-17544) 취약점의 영향을 받을 수 있습니다. -
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 -vDocker (직접 관리)
# Dockerfile
FROM php:8.4.8-fpm-alpinedocker pull php:8.4.8-fpmdocker compose up -d --buildcomposer.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 nginxCentOS / AlmaLinux / Rocky Linux (Remi 저장소)
sudo dnf update php8.4*php -vsudo systemctl restart php-fpmOPcache 초기화 (공통)
# PHP-FPM 재시작으로 OPcache 자동 초기화sudo systemctl restart php8.4-fpm# 또는 Laravel 아티즌으로 설정 캐시 재생성php artisan config:cachephp artisan route:cachephp artisan view:cache업그레이드 체크리스트
- 로컬 PHP 버전 업그레이드 완료 (
php -v로 확인) -
composer.jsonPHP 버전 제약 조건 확인 - CI/CD 파이프라인 PHP 버전 매트릭스 확인
- 스테이징 환경 배포 및 테스트 완료
- 프로덕션 PHP 업그레이드 및 PHP-FPM 재시작
- OPcache 초기화 확인
- PostgreSQL 또는 BCMath 사용 애플리케이션의 경우 보안 패치 적용 여부 우선 확인
📎 공식 릴리스 노트: https://www.php.net/ChangeLog-8.php#8.4.8 📦 다운로드: https://www.php.net/downloads