Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
php-eol-cve-2026-109618-109619 — EOL 플랫폼에서 PHP CVE-2026-109618 / CVE-2026-109619(RCE, CVSS 9.2)에 대한 비공식 패치: CentOS/RHEL 7(Remi)의 PHP 7.3, Amazon Linux 2의 PHP 5.4, Amazon Linux 1의 PHP 5.3 | Kitploit
도구/GitHubGitHub/leonlai-tw/php-eol-cve-2026-109618-109619
Defensive ToolsVulnerability AnalysisExploitationConfiguration AuditingWeb SecurityDevSecOpsSupply Chain Security
GitHubleonlai-tw/php-eol-cve-2026-109618-109619

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

php-eol-cve-2026-109618-109619

EOL 플랫폼에서 PHP CVE-2026-109618 / CVE-2026-109619(RCE, CVSS 9.2)에 대한 비공식 패치: CentOS/RHEL 7(Remi)의 PHP 7.3, Amazon Linux 2의 PHP 5.4, Amazon Linux 1의 PHP 5.3

저장소 보기
20시간 19분 전아직 검토되지 않음

CVE-2026-109618 / CVE-2026-109619: 지원 종료된 PHP(EL7의 7.3, Amazon Linux의 5.4 / 5.3)를 위한 패치

2026-10-21에 발표된 두 가지 치명적인 비인증 원격 코드 실행 취약점에 대한 PHP 보안 팀의 최소 완화책을 비공식적으로 백포트한 것입니다:

CVE권고문요약
CVE-2026-109618GHSA-w8hw-w9fx-j79w메모리 부족 손상으로 인한 RCE (CVSS 4.0: 9.2)
CVE-2026-109619GHSA-6wmf-4rv5-p3rp오래된 전역 상태로 인한 RCE (CVSS 4.0: 9.2)

업스트림은 PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12에서 수정했으며, 7.4, 8.0, 8.1에 대해서는 소스 전용 최소 완화책을 게시했습니다. 아래 플랫폼에 대한 수정은 아무도 게시하지 않았으므로, 이 저장소는 해당 플랫폼을 위한 패치와 재현 가능한 빌드 스크립트를 제공합니다.

PHP Group, Remi Collet, Amazon과 제휴 관계가 없습니다. 보증하지 않습니다. 배포 전에 제한 사항을 읽어 보십시오.

이 저장소를 신뢰할 수 있는 이유

  • 독립적인 교차 검증. Sury의 Debian/Ubuntu php7.3 7.3.33-35에는 동일한 업스트림 커밋을 7.3용으로 별도 포팅한 내용이 포함되어 있습니다. 여기 있는 EL7 패치는 동일한 17개 파일을 변경하며, 핵심 변경 사항은 줄 단위로 동일합니다(자세한 내용은 docs/TESTING.md 참조).
  • 소스 전용, 바이너리 없음. 벤더가 서명한 소스 RPM에서 직접 패키지를 빌드하며, 빌드 스크립트는 패치 전에 해당 서명을 검증합니다.
  • 깨끗한 체크아웃에서 재현됨. 세 가지 빌드 모두 이 저장소의 스크립트만 사용하여 처음부터 다시 실행되었으며, tests/verify.sh는 각각에 대해 PATCHED를 보고했습니다.
  • SHA256SUMS와 각 릴리스에 SHA-256 체크섬이 포함된 작고 검토 가능한 패치입니다.

어떤 파일이 필요한가요?

사용 중인 시스템PHP 패키지 소스사용할 항목
CentOS 7 / RHEL 7Remi php73 (예: php-7.3.33-14.el7.remi)patches/php-7.3.33-remi22-el7-… + build/el7-php73/build.sh
Amazon Linux 2Amazon php-5.4.16-46.amzn2.*patches/php-5.4.16-amzn2-… + build/amazon-linux/build.sh amzn2
Amazon Linux 1 (AMI 2017.03 / 2018.03)Amazon php-5.3.29-1.8.amzn1patches/php-5.3.29-amzn1-… + build/amazon-linux/build.sh amzn1
Sury PPA를 사용하는 Ubuntu / Debian, PHP 7.3 / 7.4 / 8.0 / 8.1deb.sury.org여기서는 아무것도 필요 없습니다. Sury 7.3.33-35, 7.4.33-31, 8.0.30-25 또는 8.1.34-9(또는 이후 버전)로 업그레이드하십시오. 변경 로그에 CVE가 언급되어 있지 않더라도 이미 수정 사항(debian/patches/*-Avoid-state-corruption-via-bailout.patch)이 포함되어 있습니다.
Ubuntu 24.04 배포판 php8.3Ubuntu 아카이브8.3.6-0ubuntu0.24.04.13 또는 이후 버전으로 업그레이드하십시오.
모든 소스의 PHP 8.2 이상—8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 또는 이후 버전으로 업그레이드하십시오.

빠른 시작

빌드 머신에 Docker가 필요합니다(모든 OS). 빌드는 전적으로 대상 배포판의 컨테이너 내부에서 실행되므로, 생성된 RPM은 일반 yum localinstall로 설치할 수 있습니다.

git clone https://github.com/leonlai-tw/php-eol-cve-2026-109618-109619.git
cd php-eol-cve-2026-109618-109619

# CentOS 7 / RHEL 7 + Remi PHP 7.3   -> ./work-el7/out/
build/el7-php73/build.sh

# Amazon Linux 2 + PHP 5.4           -> ./work-amzn2/out/
build/amazon-linux/build.sh amzn2

# Amazon Linux 1 + PHP 5.3           -> ./work-amzn1/out/
build/amazon-linux/build.sh amzn1

생성된 패키지는 <vendor version>.cvefix1 형식으로 버전이 지정되므로(예: php-7.3.33-22.cvefix1.el7, php-5.4.16-46.amzn2.0.7.cvefix1), 대체하는 벤더 패키지보다 항상 더 최신으로 정렬됩니다.

이미 설치된 패키지만 설치한 다음 PHP를 재시작하세요:

# on the target host, inside the directory holding the built RPMs
yum localinstall $(for p in $(rpm -qa 'php*' --qf '%{NAME}\n'); do ls ${p}-[0-9]*.cvefix1*.rpm 2>/dev/null; done)
systemctl restart php-fpm      # or: apachectl graceful   (mod_php)

장시간 실행되는 PHP 프로세스(Swoole/Octane, 큐 워커, cron 데몬)도 재시작해야 합니다. 그렇지 않으면 이전 바이너리를 계속 실행하게 됩니다.

검증

rpm -q php-cli                  # must end in .cvefix1
tests/verify.sh                 # prints PATCHED / NOT PATCHED

tests/verify.sh는 16 MB 메모리 제한으로 하나의 CLI 프로세스를 실행하고 최소 완화책의 관찰 가능한 동작을 확인합니다. 메모리 부족 시 프로세스는 종료 함수를 실행하지 않고 종료 코드 1로 종료됩니다(패치되지 않은 PHP는 255로 종료하고 종료 함수를 실행합니다).

실행 중인 PHP-FPM이 새 바이너리를 사용하는지 확인하려면:

p=$(pgrep -o -f 'php-fpm: master'); sha256sum /proc/$p/exe /usr/sbin/php-fpm   # hashes must match

패치가 변경하는 내용

업스트림 커밋 712e60f9ed ("Avoid state corruption via bailout", 브랜치 PHP-7.4-CVE-2026-109618-109619)와 동일한 설계입니다:

  1. 메모리 부족 시 더 이상 요청 종료 단계로 long-jump하지 않습니다 (CVE-2026-109618). 할당자는 치명적 오류를 stderr에 출력하고 _exit(1)로 프로세스를 종료합니다. PHP-FPM / Apache는 새 워커를 시작합니다. "Possible integer overflow in memory allocation" 오류에도 동일하게 적용됩니다.
  2. 멀티파트 파싱은 Content-Disposition 및 Content-Type 파트 헤더만 유지하고 중복을 무시하므로, 작은 요청으로 PHP가 막대한 양의 메모리를 할당하게 만들 수 없습니다.
  3. session.upload_progress가 비활성화됩니다 (CVE-2026-109619의 확인된 생성 경로).
  4. 요청이 소유한 전역 상태가 종료 시 초기화됩니다 (슈퍼글로벌, SAPI 인증/콘텐츠 타입 필드, modules_activated, 실행기 예외/오류 처리 상태, 연결 리스트 헤드). 따라서 다음 요청이 해제된 상태를 관찰할 수 없습니다.

파일별 세부 사항과 각 포팅 방식: docs/PROVENANCE.md. 테스트 결과: docs/TESTING.md.

제한 사항

  • 이는 최소 완화책이며, PHP 8.2+에 포함된 전체 수정이 아닙니다. 공개된 공격 경로를 차단하지만, 모든 확장의 잔여 상태를 감사하지는 않습니다. 지원되는 PHP 버전으로 업그레이드하는 것이 여전히 근본적인 해결책입니다.
  • 동작 변경 (모두 업스트림 완화책에서 비롯됨):
    • memory_limit을 소진한 요청은 해당 워커 프로세스를 종료합니다. mod_php의 경우 클라이언트는 HTTP 500 페이지 대신 끊어진 연결을 보게 됩니다.
    • 메모리 부족 오류 이후에는 register_shutdown_function() 콜백이 실행되지 않습니다.
    • session.upload_progress가 더 이상 진행 상황을 보고하지 않습니다.
  • EL7 빌드는 Remi의 7.3.33-22 소스를 기반으로 합니다. 현재 Remi의 마지막 EL7 바이너리(7.3.33-14)를 실행 중이라면, -15부터 -22까지의 Remi 보안 백포트도 함께 받게 됩니다 (CVE-2024-4577, CVE-2024-8925/8926/8927, CVE-2024-8929, CVE-2024-11233/11234/11236, CVE-2025-14178, CVE-2026-6735, CVE-2026-14355, CVE-2026-7260, CVE-2026-17543 등).
  • Amazon Linux 1 빌드는 amazonlinux:2018.03 이미지에서 만들어지며 openssl ≥ 1.0.2k (libcrypto.so.10(OPENSSL_1.0.2))가 필요합니다. 여전히 openssl 1.0.1k를 사용하는 호스트는 먼저 amzn-updates에서 openssl을 업그레이드해야 합니다.
  • PHP 5.x는 다른 보안 지원이 전혀 없습니다. 이러한 호스트는 마이그레이션이 필요한 것으로 간주하십시오.

상태

작성자가 2026-10-22에 프로덕션 환경에서 빌드하고 배포했습니다 (CentOS 7 / PHP-FPM 웹 서버, Amazon Linux 2 및 1 / mod_php). 이슈와 풀 리퀘스트는 환영하지만, 지원을 약속하지는 않습니다.

라이선스

패치는 PHP 소스 코드를 수정하며 PHP License v3.01에 따라 배포됩니다. 빌드 스크립트와 문서는 MIT 라이선스입니다. LICENSE를 참조하십시오. "PHP"는 PHP Group의 상표이며, 이 프로젝트는 이의 승인을 받지 않았습니다.

소프트웨어는 "있는 그대로" 제공되며, 어떠한 종류의 보증도 없습니다. 비프로덕션 환경에서 테스트하고 롤백 경로(yum downgrade 또는 디스크 스냅샷)를 확보하십시오.

도구 다운로드