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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.3.3은 2019년 3월 7일에 릴리스된 보안 패치 버전으로, EXIF 처리 취약점, 버퍼 오버플로우, MySQL LOCAL INFILE 기본값 변경 등 다수의 보안 이슈를 포함합니다. 특히 MySQL LOCAL INFILE이 기본적으로 비활성화되는 **동작 변경(Breaking Change)**이 포함되어 있어 기존 Laravel 애플리케이션에 영향을 줄 수 있습니다. 가능한 한 빠른 업그레이드를 강력히 권장합니다.


핵심 내용

🔒 보안 취약점 수정

EXIF 모듈 — 다수의 초기화되지 않은 메모리 읽기 취약점

  • #77509 exif_process_IFD_in_TIFF 내 초기화되지 않은 메모리 읽기
  • #77540 exif_process_SOFn 내 잘못된 메모리 읽기
  • #77563, #77659 exif_process_IFD_in_MAKERNOTE 내 초기화되지 않은 메모리 읽기

사용자 업로드 이미지(JPEG, TIFF 등)를 처리하는 Laravel 애플리케이션에서 악의적으로 조작된 이미지 파일을 통해 메모리 정보 노출이 가능합니다. intervention/image, spatie/laravel-medialibrary 등 이미지 처리 패키지를 사용하는 서비스에서 특히 주의가 필요합니다.

Core — 버퍼 오버플로우 및 세그폴트

  • #77329 지나치게 긴 오류 메시지로 인한 버퍼 오버플로우
  • #77589 숫자형 섹션이 포함된 parse_ini_string 호출 시 코어 덤프 발생
  • #77630 장치 간 rename() 호출 중 의도치 않은 파일 접근 허용 → 파일 처리 보안 취약점

PHAR — 버퍼 오버플로우

  • #77396 phar_create_or_parse_filename에서 Null 포인터 역참조
  • #77586 phar_tar_writeheaders_int()에서 버퍼 오버플로우

Composer 및 Laravel artisan 명령어 실행 환경에서 악성 PHAR 파일을 통한 공격 가능성이 있습니다.

Mbstring

  • #77514 mb_ereg_replace()에서 후행 백슬래시로 인한 null 바이트 삽입 문제

⚠️ 동작 변경 (Breaking Change) — MySQL LOCAL INFILE 기본값 변경

MySQL: Disabled LOCAL INFILE by default

이번 릴리스에서 가장 주의해야 할 변경 사항입니다.

구분변경 전변경 후
mysqliLOCAL INFILE 기본 활성화기본 비활성화
pdo_mysqlLOCAL INFILE 기본 활성화기본 비활성화

재활성화 방법:

php.ini에서 mysqli 사용 시:

mysqli.allow_local_infile = On

pdo_mysql 사용 시 (Laravel DB 연결 설정):

// config/database.php 'mysql' => [ // ... 'options' => [ PDO::MYSQL_ATTR_LOCAL_INFILE => true, ], ],

LOAD DATA LOCAL INFILE을 이용한 대용량 데이터 임포트나 Seeder를 운영 중인 팀은 이 변경으로 인해 즉각적인 오류가 발생할 수 있습니다.


🐛 기타 주요 버그 수정

OpenSSL

  • #77390 TLS 스트림에서 단편화된 TLS 레코드로 인해 feof()가 무한 대기하는 문제 수정 → HTTPS 외부 API 호출(Http::get(), Guzzle)에서 간헐적으로 발생하던 행(hang) 현상 해결 가능

Standard

  • #77612 setcookie()에서 모든 옵션을 채울 경우 SameSite 헤더가 잘못 설정되는 버그 수정 → CSRF 보호 관련 쿠키 설정 오작동 수정

SPL

  • #77431 openFile()이 null 바이트 이후 내용을 자동으로 잘라버리는 문제 수정

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

호환성 및 마이그레이션 부담

항목영향도비고
MySQL LOCAL INFILE 비활성화높음LOAD DATA INFILE 사용 시 즉시 오류 발생
EXIF 취약점높음 (보안)이미지 업로드 기능이 있는 모든 서비스
setcookie() SameSite 오류 수정중간Laravel 세션·쿠키 동작 검증 필요
OpenSSL TLS hang 수정중간외부 API 연동 서비스 안정성 향상
PHAR 버퍼 오버플로우중간 (보안)Composer 사용 환경 전반

로컬 개발 도구별 업그레이드 방법

Laravel Valet (macOS)

# Homebrew를 통한 PHP 업그레이드brew upgrade php@7.3valet restartphp -v  # 7.3.3 

Laravel Sail (Docker)

# docker-compose.yml 또는 Dockerfile에서 PHP 이미지 태그 확인 # php:7.3-fpm 이미지를 사용하는 경우 최신 이미지 pull docker pull php:7.3-fpm docker-compose down && docker-compose up -d --build

Ubuntu 서버 (운영 환경 — Ondřej PPA)

sudo apt updatesudo apt upgrade php7.3 php7.3-fpm php7.3-mysqlsudo systemctl restart php7.3-fpmphp -v

보안 업그레이드 긴급도

이미지 업로드 기능이 있는 서비스(커머스, SNS, 파일 공유 서비스 등)는 EXIF 관련 취약점으로 인해 즉시 업그레이드를 권장합니다. 그 외 서비스도 버퍼 오버플로우 및 PHAR 취약점이 포함되어 있으므로 정기 점검 일정을 앞당기는 것을 검토하십시오.


실무 체크리스트

로컬 환경

  • php -v 명령으로 현재 PHP 버전 확인
  • Homebrew 또는 패키지 관리자를 통해 PHP 7.3.3으로 업그레이드
  • LOCAL INFILE 관련 Seeder 또는 마이그레이션 스크립트가 있다면 동작 여부 확인
  • php.ini에서 mysqli.allow_local_infile 설정 필요 여부 검토

스테이징 환경

  • PHP 7.3.3 업그레이드 후 전체 테스트 스위트 (php artisan test) 실행
  • 이미지 업로드 및 EXIF 처리 관련 기능 통합 테스트 수행
  • setcookie() / 세션 쿠키(SameSite 속성) 동작 브라우저에서 재확인
  • 외부 HTTPS API 호출(Http::get(), Guzzle)의 타임아웃·응답 정상 여부 확인
  • MySQL LOAD DATA LOCAL INFILE 사용 여부 전수 조사:
    grep -rn "LOCAL INFILE\|LOAD DATA" database/ app/

운영(Production) 환경

  • 점검 시간대 또는 블루-그린 배포 전략으로 PHP 업그레이드 적용
  • php-fpm 재시작 후 phpinfo() 또는 php -v로 버전 확인
  • 애플리케이션 오류 로그(storage/logs/laravel.log) 및 php-fpm 오류 로그 모니터링
  • LOCAL INFILE 재활성화가 필요한 경우 config/database.php 또는 php.ini 반영 후 배포
  • 업그레이드 후 Datadog, Sentry 등 APM 도구로 에러율 및 응답 시간 이상 여부 최소 30분 모니터링

⚠️ 드래프트 검토 참고: MySQL LOCAL INFILE 기본값 변경은 공식 changelog에 명시된 사실이나, 실제 서비스 환경에서의 영향 범위는 사용 중인 MySQL 버전 및 드라이버 설정에 따라 다를 수 있습니다. 운영 적용 전 스테이징에서 반드시 검증하십시오.