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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.2.23은 2019년 9월 26일 출시된 PHP 7.2 브랜치의 패치 릴리스로, 보안 취약점 수정과 다수의 버그 픽스를 포함합니다. 특히 sodium 확장의 초기화되지 않은 버퍼 반환 문제와 ODBC 리소스 오염 버그 등 안정성에 영향을 주는 이슈들이 해결되었습니다. PHP 7.2는 2019년 11월 말 보안 지원이 종료되는 브랜치이므로, 이 릴리스를 사용 중인 팀은 업그레이드 계획 수립이 시급합니다.


핵심 내용

PHP 7.2.23 직접 변경 사항 (2019년 9월 26일)

Core

  • 버그 #78220: OneDrive 폴더에 접근할 수 없던 문제 수정 (Windows 환경 파일 시스템 관련)
  • 버그 #78412: Generator가 GC(Garbage Collector) 자식으로 $this를 잘못 보고하는 문제 수정 — 메모리 누수 또는 예기치 않은 GC 동작을 야기할 수 있었던 이슈

FastCGI

  • 버그 #78469: Windows Named Pipe 환경에서 on_accept 훅이 호출되지 않던 문제 수정 (주로 Windows 서버 환경에 해당)

MySQLnd

  • connect_attr 관련 이슈 수정 및 _server_host 연결 속성 추가 — DB 연결 디버깅 및 모니터링 도구 활용 시 유용

ODBC

  • 버그 #78473: odbc_close()임의의 리소스를 닫아버리는 심각한 버그 수정 — ODBC를 사용하는 환경에서 예측 불가한 리소스 해제 오류를 유발할 수 있었음

PDO_MySQL

  • 버그 #41997: 스토어드 프로시저(SP) 호출 시 빈 결과 셋이 추가로 반환되던 오래된 버그(2007년 등록) 수정 — CALL 문 실행 후 결과 처리 로직에 영향

sodium

  • 버그 #78510: sodium_crypto_generichash_init()부분적으로 초기화되지 않은 버퍼를 반환하는 문제 수정 — 암호화 관련 기능에서 잠재적으로 예측 불가한 해시 값 생성 위험

SPL

  • 버그 #72884: SplObjectisCloneable() 메서드가 true를 반환하지만 실제 clone 시 오류가 발생하던 문제 수정

7.2.22 주요 변경 사항 (2019년 8월 29일)

  • 버그 #78363: zendparse버퍼 오버플로우 수정 (잠재적 보안 이슈)
  • 버그 #78379: 객체 캐스트 시 GC 혼란으로 인한 크래시 수정
  • 버그 #77946: curl_multi_info_read()가 잘못된 cURL 리소스를 반환하는 문제 수정
  • 버그 #78333: Exif 처리 중 버스 에러(Bus Error) 발생 수정

7.2.21 보안 패치 (2019년 8월 1일)

CVE대상내용
CVE-2019-11042EXIFexif_process_user_comment의 힙 버퍼 오버플로우
CVE-2019-11041EXIFexif_scan_thumbnail의 힙 버퍼 오버플로우
  • password_hash에서 Argon2 알고리즘 사용 시 취약한 옵션이 사용되던 버그 수정 (버그 #78269)

7.2.19 보안 패치 (2019년 5월 30일)

CVE대상내용
CVE-2019-11040EXIFphp_jpg_get16의 힙 버퍼 오버플로우
CVE-2019-11039Iconv정수 오버플로우로 인한 범위 외 읽기
CVE-2019-11038GDgdImageCreateFromXbm의 초기화되지 않은 읽기

7.2.16 중요 보안 변경 (2019년 3월 7일)

  • MySQL LOCAL INFILE 기본값 비활성화: mysqli.allow_local_infile (mysqli) 및 PDO::MYSQL_ATTR_LOCAL_INFILE (pdo_mysql)로 명시적으로 활성화해야 함 — LOAD DATA LOCAL INFILE 공격 벡터 차단 목적

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

⚠️ EOL(지원 종료) 임박 경고

PHP 7.2는 2019년 11월 30일에 모든 공식 지원이 종료됩니다. 7.2.23은 사실상 이 브랜치의 마지막 또는 최후 릴리스 중 하나입니다. 현재 PHP 7.2를 운영 환경에서 사용 중인 팀은 PHP 7.4 또는 8.x로의 업그레이드를 즉시 계획해야 합니다.

Laravel 호환성 참고 (작성 시점 기준 확인 필요): Laravel 6.x LTS는 PHP 7.2를 지원하지만, 최신 Laravel 버전은 더 높은 PHP 버전을 요구합니다. 사용 중인 Laravel 버전의 공식 문서에서 PHP 버전 요구사항을 반드시 확인하세요.

PDO_MySQL 스토어드 프로시저 버그 수정 영향

버그 #41997 수정으로 인해, 기존에 SP 호출 결과를 처리할 때 빈 결과 셋을 소비하는 우회 코드를 작성한 팀은 해당 로직을 재검토해야 할 수 있습니다. 수정 후 동작이 변경되어 기존 우회 코드가 오히려 결과를 건너뛰는 부작용을 일으킬 수 있습니다.

sodium 버퍼 초기화 문제

sodium_crypto_generichash_init()를 사용하는 암호화 코드(예: BLAKE2b 해시 스트리밍)가 있다면, 이전 버전에서 생성된 해시 값의 신뢰성을 검토해야 합니다. Laravel에서 직접 이 함수를 호출하는 경우는 드물지만, 커스텀 암호화 패키지를 사용하는 경우 점검이 필요합니다.

MySQL LOCAL INFILE 비활성화 (7.2.16 이후)

7.2.16부터 적용된 이 변경으로 인해 LOAD DATA LOCAL INFILE을 사용하는 배치 스크립트나 데이터 임포트 기능이 동작하지 않을 수 있습니다. php.ini 또는 PDO 연결 속성을 명시적으로 설정했는지 확인하세요.

로컬 개발 환경 (Valet, Sail, Docker)

  • Laravel Valet: macOS에서 valet use php@7.2로 특정 버전을 고정할 수 있으나, Homebrew의 PHP 7.2 패키지 지원도 종료되어 가고 있어 버전 관리가 점점 어려워질 수 있습니다.
  • Laravel Sail: 사용 중인 Dockerfile의 PHP 베이스 이미지 버전을 확인하세요. php:7.2-fpm 이미지는 더 이상 업데이트되지 않을 수 있습니다.
  • Docker: FROM php:7.2-fpm 등의 이미지를 프로덕션에서 계속 사용하는 경우, 공식 이미지 업데이트 여부를 Docker Hub에서 직접 확인해야 합니다.

실무 체크리스트

로컬/스테이징 환경

  • 현재 PHP 버전 확인: php -v
  • PHP 7.2를 사용 중이라면, 7.2.23으로의 패치 업데이트 적용 여부 확인
  • 스토어드 프로시저를 사용하는 코드가 있다면, SP 호출 후 결과 처리 로직 테스트 실행
  • sodium_crypto_generichash_init() 사용 여부 점검
  • php.ini에서 mysqli.allow_local_infile 설정 값 확인 (LOCAL INFILE 사용 시)

보안 점검

  • EXIF 관련 기능 사용 여부 확인 (CVE-2019-11041, CVE-2019-11042 등 다수 패치됨)
  • 이미지 업로드 기능이 있다면 EXIF 처리 라이브러리 버전 점검
  • GD 라이브러리 관련 기능 사용 시 CVE-2019-11038 패치 포함 여부 확인

PHP 버전 업그레이드 계획 (최우선 과제)

  • PHP 7.2 EOL(2019-11-30) 전 PHP 7.4 또는 8.x 업그레이드 로드맵 수립
  • composer.jsonrequire.php 버전 제약 조건 검토
  • 사용 중인 패키지들의 PHP 7.4/8.x 호환성 확인 (composer check-platform-reqs)
  • 스테이징 환경에서 PHP 버전 업그레이드 후 전체 테스트 스위트 실행
  • Deprecated 함수 사용 여부 점검 (error_reporting(E_ALL) 설정 후 로그 확인)

프로덕션 배포

  • 패키지 매니저(apt, yum, Homebrew)를 통한 PHP 7.2.23 패키지 설치 가능 여부 확인
  • 배포 전 스테이징에서 PDO_MySQL 스토어드 프로시저 동작 검증 완료
  • PHP-FPM 재시작 후 phpinfo() 또는 php -v로 버전 업데이트 확인
  • 애플리케이션 주요 기능 smoke test 수행

⚠️ 편집자 검토 요청: PHP 7.2의 정확한 EOL 날짜 및 각 Laravel 버전별 PHP 요구사항은 공식 문서에서 재확인 후 기사에 반영 바랍니다. 이 드래프트는 검토 시점 기준 데이터를 바탕으로 작성되었습니다.