PHP 7.3.25 업데이트 — 한국 Laravel 개발자 영향 분석
작성: 라라벨 코리아 (초안)
발행: 2026년 8월 6일
## 요약
요약
PHP 7.3.25가 2020년 11월 26일에 릴리스되었습니다. 이번 버전은 IMAP 확장의 다수 세그폴트 및 메모리 누수 버그 수정을 포함하며, CVE 보안 취약점이 포함된 이전 7.3.x 시리즈의 누적 패치를 반영합니다. PHP 7.3 브랜치는 보안 수정만 제공되는 단계로 접어들고 있어, 적극적인 업그레이드 계획 수립이 필요합니다.
핵심 내용
🔒 보안 수정 (이전 7.3.x 릴리스 포함 누적)
PHP 7.3.25 자체에는 별도의 CVE가 포함되어 있지 않지만, 7.3.x 시리즈 전체 체인지로그에는 다음 보안 취약점들이 포함되어 있습니다. 현재 7.3.25 미만 버전을 사용 중이라면 아래 CVE에 노출되어 있습니다.
| CVE | 대상 버전 | 내용 |
|---|---|---|
| CVE-2020-7070 | 7.3.23에서 수정 | 인코딩된 쿠키 이름 파싱 오류로 악의적인 __Host- 쿠키 전송 가능 |
| CVE-2020-7069 | 7.3.23에서 수정 | AES-CCM 암호화에서 12바이트 IV 사용 시 잘못된 암호문/태그 생성 |
| CVE-2020-7068 | 7.3.21에서 수정 | phar_parse_zipfile()에서 해제된 해시 키 사용(Use-After-Free) |
| CVE-2019-11048 | 7.3.18에서 수정 | 긴 파일명/멀티파트 변수명으로 OOM 유발 및 임시 파일 미삭제 |
| CVE-2020-7067 | 7.3.17에서 수정 | urldecode()에서 OOB(범위 외) 읽기 |
🐛 7.3.25 주요 버그 수정
IMAP 확장 집중 수정
이번 릴리스에서 가장 많은 수정이 이루어진 영역입니다. IMAP 기반 메일 발송/수신 기능을 사용하는 레거시 Laravel 애플리케이션이라면 특히 주목해야 합니다.
imap_sort()실패 시FALSE미반환 버그 수정 (#64076)imap_reopen()호출 시 세그폴트 수정 (#76618)imap_rfc822_write_address()메모리 누수 수정 (#80239)imap_mail_compose()에서 멀티파트 rfc822 처리 시 세그폴트 수정 (#80242)
Core 수정
ADD_EXTENSION_DEP()빌드 실패 수정 (#80280)- Windows 환경에서 중복 제거(Deduplication) 활성화 시 권한 오류 수정 (#80258)
Standard 수정
parse_url()이 포트 번호 0을 조용히 무시하는 버그 수정 (#80266)- 이전 버전인 7.3.24에서도 포트 0 관련 버그가 수정된 바 있으며(#80114), 이번에 추가 엣지 케이스가 수정되었습니다.
Intl 확장
- ICU 4C 68.1 이상과의 호환성 문제 수정 (#80310):
TRUE식별자 미선언 오류 해결. 최신 ICU 라이브러리 환경(Ubuntu 20.04 이상 등)에서 빌드 실패가 발생하던 문제가 해결되었습니다.
DOM 수정
loadHTML()이 NUL 바이트에서 내용을 잘라내는 버그 수정 (#80268)
한국 Laravel 개발자에게 미치는 영향
PHP 버전 지원 현황 확인
⚠️ 중요: PHP 7.3은 2021년 12월 6일부로 공식 지원이 종료(End of Life)되었습니다. 현재 PHP 7.3.x를 운영 중인 경우, 보안 업데이트를 더 이상 받을 수 없는 상태입니다.
현재 한국 서버 환경에서는 레거시 시스템 유지 목적으로 PHP 7.3을 여전히 사용하는 사례가 적지 않습니다. 특히 카페24, 가비아, 닷홈 등 국내 호스팅 환경에서 PHP 7.3 기반 설정이 기본값으로 제공되는 경우가 있어 주의가 필요합니다.
Laravel 호환성
| Laravel 버전 | PHP 7.3 지원 여부 |
|---|---|
| Laravel 6.x (LTS) | ✅ 지원 (단, 6.x도 2022년 9월 EOL) |
| Laravel 7.x | ✅ 지원 (단, 7.x도 2021년 3월 EOL) |
| Laravel 8.x | ✅ 지원 (PHP 7.3 이상) |
| Laravel 9.x | ❌ PHP 8.0 이상 필요 |
| Laravel 10.x | ❌ PHP 8.1 이상 필요 |
| Laravel 11.x | ❌ PHP 8.2 이상 필요 |
PHP 7.3을 사용 중이라면 Laravel 8.x가 사용 가능한 최신 버전입니다. 그러나 Laravel 8.x 역시 공식 지원이 종료되었으므로, 전체적인 업그레이드 계획 수립이 시급합니다.
로컬 개발 환경별 영향
Laravel Sail (Docker)
composer.json의 sail 플랫폼 설정 또는 docker-compose.yml에서 PHP 버전을 명시적으로 지정하는 경우, PHP 7.3 이미지(sail-7.3/app)는 더 이상 보안 패치를 받지 않습니다. 신규 프로젝트라면 반드시 PHP 8.2 이상의 이미지를 사용하세요.
# 현재 Sail 환경의 PHP 버전 확인./vendor/bin/sail php --versionLaravel Valet (macOS)
Homebrew를 통해 PHP를 관리하는 경우, php@7.3 포뮬러는 Homebrew 공식 저장소에서 제거되었습니다. shivammathur/php tap을 통해서만 설치 가능하며, 운영 환경 재현에 어려움이 있을 수 있습니다.
# 현재 Valet PHP 버전 확인valet use php@8.2IMAP 사용 환경
Laravel에서 symfony/mailer 또는 구버전 swiftmailer와 함께 IMAP 기반 수신 메일 처리를 구현한 경우, 이번 수정된 세그폴트 버그의 영향을 받을 수 있습니다. 특히 imap_mail_compose(), imap_reopen() 사용 코드를 점검하세요.
실무 체크리스트
로컬/스테이징 환경
- 현재 PHP 버전 확인:
php --version또는phpinfo()로 정확한 버전 식별 - PHP 7.3.25 미만 사용 중이라면 최소한 7.3.25로 패치 적용 (단기 조치)
- 중장기 업그레이드 계획 수립: PHP 8.1 또는 8.2로 마이그레이션 로드맵 작성
-
composer.json의require섹션에서"php": "^7.3"제약 확인 및 업그레이드 가능 여부 검토
# PHP 버전 요구사항 분석composer check-platform-reqs- IMAP 기능 사용 여부 확인:
grep -r "imap_" app/ --include="*.php" -
parse_url()사용 코드 중 포트 번호 처리 로직 점검
보안 취약점 우선 대응
- CVE-2020-7070 (쿠키 파싱):
$_COOKIE로__Host-또는__Secure-프리픽스 쿠키를 직접 처리하는 코드 점검 - CVE-2019-11048 (파일 업로드 OOM): 파일 업로드 기능이 있는 경우 웹 서버 레벨(Nginx/Apache)에서
client_max_body_size등 크기 제한 재확인 - CVE-2020-7068 (Phar UAF):
phar://스트림 래퍼를 사용하거나 Phar 아카이브를 외부 입력으로부터 받아 처리하는 로직 점검
운영 서버
- 운영 서버 배포 전 스테이징에서 PHP 7.3.25 업그레이드 후 기능 회귀 테스트 수행
- 국내 호스팅(카페24, 가비아 등) 사용 시 관리 콘솔 또는 고객센터를 통해 PHP 버전 업그레이드 지원 여부 확인
- PHP EOL 대비: 운영팀과 PHP 8.x 마이그레이션 일정 협의 — 7.3은 보안 지원이 종료된 상태임을 공유
- CI/CD 파이프라인의 PHP 버전 매트릭스 확인 및 8.x 버전 추가
# GitHub Actions 예시: PHP 버전 매트릭스 업데이트 권장
strategy:
matrix:
php-versions: ['8.1', '8.2', '8.3'] # 7.3 제거 권장- Datadog, New Relic, Sentry 등 APM 도구의 PHP 에이전트가 현재 PHP 버전을 지원하는지 확인
- OPcache 설정 유지 (
opcache.enable=1) — 이번 릴리스에는 OPcache 관련 수정도 포함되어 있으므로 캐시 재웜업(warm-up) 여부 모니터링
편집자 주: 이 문서는 초안(Draft)입니다. PHP 7.3의 EOL 날짜 및 각 Laravel 버전의 정확한 EOL 날짜는 공식 문서(php.net/supported-versions, laravel.com/docs/releases)에서 재확인 후 게시 전 검토를 권장합니다.