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:
SplObject의isCloneable()메서드가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-11042 | EXIF | exif_process_user_comment의 힙 버퍼 오버플로우 |
| CVE-2019-11041 | EXIF | exif_scan_thumbnail의 힙 버퍼 오버플로우 |
password_hash에서 Argon2 알고리즘 사용 시 취약한 옵션이 사용되던 버그 수정 (버그 #78269)
7.2.19 보안 패치 (2019년 5월 30일)
| CVE | 대상 | 내용 |
|---|---|---|
| CVE-2019-11040 | EXIF | php_jpg_get16의 힙 버퍼 오버플로우 |
| CVE-2019-11039 | Iconv | 정수 오버플로우로 인한 범위 외 읽기 |
| CVE-2019-11038 | GD | gdImageCreateFromXbm의 초기화되지 않은 읽기 |
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.json의require.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 요구사항은 공식 문서에서 재확인 후 기사에 반영 바랍니다. 이 드래프트는 검토 시점 기준 데이터를 바탕으로 작성되었습니다.