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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.4.3이 2020년 2월 20일에 릴리스되었으며, 3개의 CVE 보안 취약점을 포함한 다수의 버그 수정이 포함된 보안 릴리스입니다. Phar 확장의 파일 권한 오류(CVE-2020-7063), 힙 버퍼 오버플로우(CVE-2020-7061), 세션 업로드 진행 중 Null 포인터 역참조(CVE-2020-7062)가 핵심 보안 패치입니다. PHP 7.4 계열을 운영하는 Laravel 프로젝트라면 즉시 업그레이드를 검토해야 합니다.


핵심 내용

🔐 보안 취약점 (CVE) — 최우선 확인 필요

CVE대상 컴포넌트설명심각도
CVE-2020-7063PharPhar::buildFromIterator로 tar에 추가된 파일에 전체 접근 권한(all-access) 부여중간
CVE-2020-7061Pharphar_extract_file 내 힙 버퍼 오버플로우높음
CVE-2020-7062Session세션 업로드 진행 처리 중 Null 포인터 역참조중간

Laravel 프로젝트와의 관련성:

  • Phar 취약점(CVE-2020-7061, CVE-2020-7063)은 Composer 패키지 배포, .phar 아카이브를 직접 다루는 프로젝트, 또는 파일 업로드 처리 로직에서 간접적으로 영향을 받을 수 있습니다.
  • Session 취약점(CVE-2020-7062)은 session.upload_progress.enabled가 활성화된 환경에서 트리거될 수 있습니다. Laravel의 기본 세션 설정을 사용하더라도, PHP 레벨의 세션 업로드 진행 기능이 활성화되어 있는지 확인이 필요합니다.

🐛 주요 버그 수정 분석

Core — 안정성 개선

  • #79155 — 다중 프로퍼티 선언 시 nullable 손실: public int $a, $b; 형태로 여러 프로퍼티를 선언할 때 nullability 정보가 유실되는 문제. PHP 7.4에서 도입된 타입 선언 프로퍼티를 적극 활용하는 Laravel 모델 코드에서 잠재적으로 영향을 미칠 수 있습니다.
  • #78989 — 트레이트 관련 지연 분산 검사 세그멘테이션 폴트: 트레이트를 복잡하게 조합하는 Laravel 서비스 클래스에서 간헐적 충돌이 발생할 수 있었던 문제가 수정되었습니다.
  • #79174 — 공백을 포함한 쿠키 값 라운드트립 실패: 쿠키에 공백이 포함된 값을 저장하면 읽을 때 값이 깨지는 문제. Laravel의 암호화된 쿠키나 세션 쿠키에 간접적으로 영향을 줄 수 있습니다.
  • #76047 — 이미 소멸된 백트레이스 인자에 대한 Use-after-free: 디버깅/예외 처리 중 발생 가능한 메모리 안전성 문제.

MySQLnd — 데이터베이스 관련

  • #79084 — MYSQLI_BOTH 사용 시 잘못된 컬럼 인덱스 반환: MYSQLI_BOTH로 결과를 가져올 때 컬럼 인덱스가 잘못 매핑되는 문제로, 로우 레벨 MySQLi를 직접 사용하거나 Eloquent 하단에서 MySQLnd를 통해 데이터를 처리하는 경우 데이터 무결성에 영향을 줄 수 있습니다.
  • #79011 — caching_sha2_password에서 20자 초과 비밀번호 인증 실패: MySQL 8.0의 기본 인증 플러그인인 caching_sha2_password 사용 시, 20자를 초과하는 비밀번호로 연결이 거부되는 심각한 문제. MySQL 8.0 + Laravel 환경에서 강력한 비밀번호를 사용하는 경우 반드시 확인이 필요합니다.

Opcache — 프리로딩 관련 안정화

  • #79114, #79128 — 프리로딩(Preloading) 세그멘테이션 폴트: PHP 7.4에서 새로 도입된 Opcache 프리로딩 기능 사용 시 발생하는 충돌 수정. Laravel Octane의 전신 격으로 프리로딩을 실험적으로 적용한 환경이라면 업그레이드 후 안정성이 개선됩니다.
  • #79193 — 타입 추론 오류 (self::$field =& $field): 참조 할당과 관련된 타입 추론 버그로, 정적 프로퍼티를 참조로 다루는 코드에서 예기치 않은 동작이 발생할 수 있었습니다.

OpenSSL

  • #79145 — 메모리 누수: HTTPS 요청을 대량으로 처리하는 Laravel 애플리케이션(Guzzle, HTTP Client 사용)에서 장기 실행 시 메모리가 점진적으로 증가하는 원인이 될 수 있었습니다.

Standard

  • #78969 — PASSWORD_DEFAULTnull 대신 PASSWORD_BCRYPT와 일치해야 함: Laravel의 기본 해싱 드라이버가 bcrypt이므로 직접적인 영향은 제한적이나, password_hash() 직접 호출 코드에서의 일관성이 개선됩니다.
  • #78902 — stream_filter_append 메모리 누수: 파일 스트림 필터를 활용하는 코드에서 메모리가 누적되는 문제 수정.

Zip — 기능 추가 (보안 이슈 아님)

  • ZipArchive::CM_LZMA2, ZipArchive::CM_XZ, ZipArchive::RDONLY, ZipArchive::ER_*, ZipArchive::LIBZIP_VERSION 상수가 추가되었습니다. libzip 버전에 따라 활성화됩니다.

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

호환성

  • PHP 7.4.3은 7.4.x 계열의 드롭인 업그레이드입니다. API 변경 없이 적용 가능합니다.
  • Laravel 6.x(LTS), 7.x 모두 PHP 7.4를 지원하므로 프레임워크 변경 없이 PHP만 업그레이드하면 됩니다.

MySQL 8.0 환경 주의 사항

caching_sha2_password 버그(#79011)는 MySQL 8.0을 기본 설정으로 사용하는 환경에서 20자 초과 비밀번호를 사용할 경우 DB 연결 자체가 불가능한 치명적 문제입니다. 국내 클라우드 환경(NCP, KT Cloud, AWS RDS)에서 MySQL 8.0을 사용하는 팀은 즉시 PHP 버전을 확인하세요.

Laravel Sail / Docker

# docker-compose.yml 또는 Dockerfile 기반 프로젝트에서 # PHP 이미지 버전 명시 권장 FROM php:7.4.3-fpm

Sail을 사용하는 경우 sail build --no-cache 후 재기동 시 최신 패치가 반영된 이미지가 사용되는지 확인하세요. 공식 php:7.4-fpm 태그는 시간이 지나면 자동으로 최신 패치 버전을 가리키지만, 캐시된 로컬 이미지를 사용하는 경우 명시적 pull이 필요합니다.

Laravel Valet (macOS)

Homebrew를 통해 PHP를 관리하는 경우:

brew upgrade php@7.4valet restart

Valet의 경우 php@7.4 formula가 7.4.3으로 업데이트되었는지 php -v로 확인하세요.

보안 긴급도

높음 — 3개의 CVE를 포함한 보안 릴리스이므로 운영 환경 적용을 신속히 검토해야 합니다. 특히 파일 업로드, Phar 처리, 세션 기능을 사용하는 서비스는 우선 대응이 필요합니다.


실무 체크리스트

로컬 개발 환경

  • php -v 로 현재 PHP 버전 확인
  • Homebrew(macOS): brew upgrade php@7.4php -v 재확인
  • Docker/Sail: docker pull php:7.4-fpm 또는 sail build --no-cache
  • .phpversion 또는 composer.jsonrequire.php 버전 제약 조건 확인

스테이징 환경

  • session.upload_progress.enabled PHP 설정 확인 (php -i | grep upload_progress)
  • MySQL 8.0 사용 시 DB 연결 비밀번호가 20자를 초과하는지 확인, 연결 테스트 수행
  • Phar 파일 생성/추출 기능을 사용하는 경우 해당 로직 회귀 테스트 실행
  • Opcache 프리로딩을 사용하는 경우 php-fpm 재기동 후 안정성 확인
  • stream_filter_append를 사용하는 코드 존재 시 메모리 사용량 모니터링

운영(프로덕션) 환경

  • 배포 전 스테이징에서 전체 PHPUnit 테스트 스위트 통과 확인
  • 서버 패키지 업그레이드:
    • Ubuntu/Debian (Ondřej PPA): sudo apt-get update && sudo apt-get upgrade php7.4
    • CentOS/RHEL (Remi): sudo yum update php74
  • php -v 로 7.4.3 적용 확인
  • PHP-FPM 재기동: sudo systemctl restart php7.4-fpm
  • 재기동 후 애플리케이션 헬스체크 엔드포인트 및 에러 로그 모니터링
  • Datadog, New Relic 등 APM 사용 시 메모리 사용량 그래프 이상 여부 확인 (OpenSSL 메모리 누수 수정 효과 검증)
  • 쿠키 기반 기능(로그인 세션, Remember Me 등) 동작 확인 (#79174 쿠키 공백 버그 수정 검증)

⚠️ 드래프트 참고: 이 문서는 검토용 초안입니다. 운영 적용 전 공식 PHP 릴리스 노트(https://www.php.net/releases/7_4_3.php) 및 각 CVE 공식 권고문을 반드시 직접 확인하시기 바랍니다.