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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.2.5가 2018년 4월 26일 릴리스되었습니다. 이번 업데이트는 Exif 힙 버퍼 오버플로우, LDAP 악성 응답 크래시, Phar CVE-2018-5712 불완전 패치 등 보안 관련 버그 수정을 포함하고 있어 운영 환경의 빠른 업그레이드가 권장됩니다. Laravel 애플리케이션에서 자주 사용하는 Opcache, FPM, iconv, mbstring 관련 버그도 다수 수정되어 안정성이 향상되었습니다.


핵심 내용

🔐 보안 수정 사항 (즉시 주의 필요)

  • Exif 힙 버퍼 오버플로우 (bug #76130): exif_iif_add_value 함수에서 READ: 1786 크기의 힙 버퍼 오버플로우가 발생하는 취약점이 수정되었습니다. 이미지 업로드 기능을 제공하는 Laravel 애플리케이션에서 사용자 제공 이미지를 Exif로 파싱하는 경우 잠재적 공격 벡터가 될 수 있습니다.
  • 악성 LDAP 서버 응답 크래시 (bug #76248): LDAP 서버로부터의 악의적인 응답으로 인해 PHP 프로세스가 크래시될 수 있는 취약점이 수정되었습니다. LDAP 기반 인증(예: Active Directory 연동)을 사용하는 환경에서 특히 주의가 필요합니다.
  • Phar CVE-2018-5712 불완전 패치 (bug #76129): PHP 7.2.4 이전 버전에서 적용된 CVE-2018-5712에 대한 수정이 불완전했음이 확인되어 추가 패치가 적용되었습니다. php artisan 등 Phar 기반 CLI 툴을 사용하는 환경에서 중요합니다.
  • iconv 무한 루프 (bug #76249): 잘못된 문자 시퀀스가 포함된 입력에서 convert.iconv 스트림 필터가 무한 루프에 빠지는 문제가 수정되었습니다. DoS 공격 벡터로 활용될 수 있는 취약점입니다.
  • phpdbg 메모리 손상 (bug #76143): 임의의 NUL 바이트 오버라이트로 인한 메모리 손상 문제가 수정되었습니다.

⚙️ Laravel 운영 환경 관련 주요 수정

  • FPM 리로드 개선 (bug #68440, FPM 잘못된 쓰기 수정): php-fpm reloadArgument list too long 오류가 발생하던 문제와 getenv 결과에 대한 잘못된 쓰기 동작이 수정되었습니다. 환경 변수를 대량으로 사용하는 Laravel .env 기반 배포 환경에 직접적인 영향을 줍니다.
  • Opcache 액세스 위반 (bug #76094): Opcache 사용 시 발생하던 액세스 위반(Access Violation) 문제가 수정되었습니다. Laravel은 운영 환경에서 Opcache를 기본적으로 권장하므로 안정성에 직결됩니다.
  • mbstring + Oniguruma 6.8.1 빌드 실패 (bug #76113): 최신 Oniguruma 라이브러리와의 빌드 호환성 문제가 해결되었습니다. Ubuntu 18.04 LTS (Bionic) 등 최신 배포판에서 PHP를 소스 컴파일하거나 최신 패키지를 사용하는 경우 영향을 받을 수 있습니다.
  • CP1251 인코딩 오탐지 (bug #75944): mbstring의 CP1251(Windows Cyrillic) 인코딩 감지 오류 수정. 한국어 환경과 직접적인 관련은 낮으나 다국어 서비스의 경우 주의가 필요합니다.
  • intl + ICU 61.1 컴파일 실패 (bug #76153): ICU 라이브러리 61.1 버전과의 컴파일 호환성 문제가 수정되었습니다. Laravel의 다국어(Localization), Carbon 날짜 처리 등에서 intl 확장을 활용하는 경우 관련이 있습니다.

🗓️ 7.2.1 ~ 7.2.4 주요 누적 수정 사항 (7.2.0에서 업그레이드하는 경우)

버전주요 수정
7.2.4FPM 자식 프로세스 덤프로 인한 Opcache 접근 제어 우회 (bug #75605), GD 정수 변환 크래시
7.2.3Apache2 핸들러 세그폴트, PGSQL 메모리 누수, Opcache 세그폴트
7.2.2Generator finally 블록 Fatal Error, SPL RecursiveArrayIterator 다수 버그, Opcache @ 연산자 사용 시 FPM 크래시
7.2.1GD 무한 루프 (GIF), Opcache 타입 추론 오류 다수, Phar XSS 수정

참고: 7.2.4의 bug #75605 (FPM Dumpable 자식 프로세스를 통한 Opcache 우회)는 별도 보안 고려가 필요합니다.


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

호환성

  • PHP 7.2.5는 하위 호환성을 유지하는 패치 릴리스입니다. Laravel 5.5 ~ 5.6 (당시 최신)을 포함하여 PHP 7.2를 지원하는 모든 Laravel 버전과 호환됩니다.
  • 별도의 코드 변경 없이 PHP 바이너리 교체만으로 업그레이드할 수 있습니다.

마이그레이션 난이도

  • 낮음: 패치 버전 업그레이드이므로 Breaking Change 없음. 단, Opcache와 FPM을 함께 사용하는 경우 업그레이드 후 서비스 재시작이 필수입니다.

보안 긴급도

  • 높음: Exif 힙 버퍼 오버플로우, 악성 LDAP 응답 크래시, iconv 무한 루프, Phar CVE 불완전 패치는 운영 서버에서 실질적인 위험을 초래할 수 있습니다. 즉시 업그레이드를 권장합니다.

로컬 개발 도구별 영향

도구영향 및 조치
Laravel Valetbrew upgrade php72 또는 brew upgrade php (Homebrew 버전에 따라) 실행 후 valet restart
Laravel Sail사용 중인 Docker 이미지(laravelsail/phpXX-composer)가 PHP 7.2.5 이상을 포함하는지 확인. 필요 시 docker pullsail build --no-cache
Docker (커스텀)FROM php:7.2.5-fpm 또는 php:7.2-fpm (자동으로 최신 패치 버전 사용) 이미지 재빌드 권장
Ubuntu/Debian 서버apt-get update && apt-get upgrade php7.2 (ondrej/php PPA 사용 권장)
CentOS/RHEL 서버Remi 저장소 사용 시 yum update php72

⚠️ Sail/Docker 사용자: php:7.2-fpm 태그를 사용 중이라면 이미 최신 패치를 자동으로 받을 수 있으나, 로컬 캐시된 이미지가 이전 버전일 수 있으므로 명시적으로 docker pull php:7.2-fpm을 실행하세요.


실무 체크리스트

로컬 개발 환경

  • php -v 명령어로 현재 PHP 버전 확인
  • Homebrew(macOS): brew upgrade php@7.2valet restart (Valet 사용 시)
  • Docker/Sail: docker pull php:7.2-fpm./vendor/bin/sail build --no-cache./vendor/bin/sail up -d
  • 업그레이드 후 php -m 으로 exif, intl, mbstring, ldap 등 주요 익스텐션 정상 로드 확인

스테이징 환경

  • PHP 업그레이드 적용 (apt-get upgrade php7.2 또는 패키지 관리자 활용)
  • php-fpm 서비스 재시작: sudo systemctl restart php7.2-fpm
  • Opcache 상태 확인: php -r "var_dump(opcache_get_status());" 또는 opcache_reset() 호출
  • 이미지 업로드 기능이 있다면 Exif 파싱 포함 테스트 수행
  • LDAP 인증 연동이 있다면 인증 플로우 엔드-투-엔드 테스트 수행
  • iconv를 사용하는 문자열 변환 로직 테스트 (특히 다국어 입력 처리)
  • Laravel Horizon, Telescope 등 Opcache와 연동되는 도구 정상 동작 확인

운영(Production) 환경

  • 점진적 롤아웃: 로드밸런서 뒤 서버 1대에 먼저 적용 후 오류 모니터링 (최소 30분)
  • 배포 전 백업: 현재 PHP 바이너리 버전 메모 및 롤백 절차 준비
  • 패키지 업그레이드:
    sudo apt-get updatesudo apt-get upgrade php7.2 php7.2-fpm php7.2-common php7.2-cli
  • FPM 재시작 (무중단 재시작 권장):
    sudo systemctl reload php7.2-fpm# reload가 실패할 경우:sudo systemctl restart php7.2-fpm
  • Nginx/Apache 설정에서 FPM 소켓 연결 정상 확인
  • Opcache 캐시 초기화: 배포 스크립트에 php artisan opcache:clear 또는 opcache_reset() 포함 확인
  • 오류 로그 모니터링: /var/log/php7.2-fpm.log, Laravel storage/logs/laravel.log
  • Exif 관련: 사용자 이미지 업로드 처리 코드에서 exif_read_data() 등을 사용하는 경우, 신뢰할 수 없는 입력에 대해 반드시 유효성 검사 적용 확인
  • iconv 관련: 외부 API 응답이나 사용자 입력을 iconv로 변환하는 경우 입력 값 검증 로직 재점검

📝 드래프트 검토 참고: 이 문서는 2018년 4월 릴리스 기준으로 작성되었습니다. 현재 시점에서 PHP 7.2 브랜치는 공식 지원이 종료(EOL: 2020년 11월)되었으므로, 신규 프로젝트에는 PHP 8.x로의 마이그레이션을 강력히 권장합니다. 레거시 시스템 유지보수 목적의 참고 자료로 활용하시기 바랍니다.