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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
php2shell-eol-backport — RHEL, CentOS 및 Oracle Linux 7 / 6의 수명 종료(EOL) PHP 5.4 / 5.3 패키지에 대한 CVE-2026-109618 / CVE-2026-109619 (php2shell) 비공식 수정 | Kitploit
도구/GitHubGitHub/alvm/php2shell-eol-backport
Defensive ToolsVulnerability AnalysisConfiguration AuditingDevSecOpsUtilities & FrameworksSupply Chain Security
GitHubalvm/php2shell-eol-backport

php2shell-eol-backport

RHEL, CentOS 및 Oracle Linux 7 / 6의 수명 종료(EOL) PHP 5.4 / 5.3 패키지에 대한 CVE-2026-109618 / CVE-2026-109619 (php2shell) 비공식 수정

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

php2shell-eol-backport

CVE-2026-109618 및 CVE-2026-109619("php2shell")에 대한 비공식 수정으로, Enterprise Linux 6 및 7의 수명 종료(EOL) PHP 패키지인 php-5.3.3(RHEL / CentOS / Oracle Linux 6) 및 php-5.4.16(RHEL / CentOS / Oracle Linux / Scientific Linux 7)을 대상으로 합니다.

PHP는 2026년 10월 21일 8.2.35, 8.3.36, 8.4.27 및 8.5.12에서 두 취약점을 모두 수정했으며, 7.4, 8.0 및 8.1에 대한 소스 백포트를 게시했습니다. PHP 5에 대해서는 아무것도 릴리스되지 않았고, EL6 / EL7 벤더들도 수정 사항을 배포하지 않았습니다. 이러한 시스템을 계속 운영해야 하는 경우, 이 프로젝트는 공식 최소 수정 사항을 포팅한 재빌드된 벤더 패키지를 제공합니다.

이것은 PHP, Red Hat 또는 Oracle의 공식 수정이 아닙니다. 지원되는 PHP 버전으로 이동할 수 있을 때까지 위험을 줄여줄 뿐이므로, 가능한 한 빨리 이동하십시오. EL8 / EL9 / EL10에서는 대신 벤더의 업데이트를 설치하십시오(예: ELSA/RHSA-2026:87080, 87151, 87079).

수정된 내용

  • CVE-2026-109618 및 CVE-2026-109619, CVSS 4.0 9.2.
  • 이 패치는 php-src 커밋 712e60f9ed ("Avoid state corruption via bailout")를 PHP 5.3 / 5.4 코드 베이스로 포팅한 것으로, PHP 7.4에 대한 공식 최소 백포트입니다. 기존의 모든 보안 패치가 적용된 벤더 패키지 위에 적용됩니다.
  • 패치는 벤더 소스 트리를 대상으로 작성되었습니다. 일반 php-5.4.16 / php-5.3.3 릴리스 타르볼에는 적용되지 않는데, 이들은 동일한 코드에 대한 벤더의 이후 보안 수정(예: 멀티파트 헤더 파싱의 CVE-2015-4024)이 빠져 있기 때문입니다.
배포판벤더 패키지이 프로젝트의 수정 패키지
RHEL / CentOS / Oracle Linux / Scientific Linux 7php-5.4.16-48.el7php-5.4.16-48.el7.php2shell.1
RHEL / CentOS / Oracle Linux 6php-5.3.3-50.el6_10php-5.3.3-50.el6_10.php2shell.1

릴리스 접미사는 벤더 패키지보다 상위로 정렬되며, 향후 벤더 에라타(예: 48.el7_9.1)보다는 하위로 정렬되므로, 공식 수정이 나온다면 일반 업데이트로 이 수정을 대체하게 됩니다.

PHP 5에서 이것은 얼마나 심각한가?

아마도 PHP 7 및 8보다는 덜할 것이지만, 아직 확실한 답은 없습니다:

  • Red Hat은 RHEL 6 / 7 php 패키지가 CVE-2026-109619에 영향을 받지 않는다고("취약한 코드 없음") 평가하며, CVE-2026-109618은 조사 중으로 표시합니다 (CSAF VEX).
  • PHP 5.3에 대한 독립 분석에 따르면 메모리 부족 결함은 도달 가능하지만, 게시된 메모리 손상 단계는 PHP 7 엔진 내부에 의존하므로 PHP 5에서 알려진 공격은 서비스 거부로 끝납니다. PHP 5.4–5.6은 코드 비교로 평가되었을 뿐 테스트되지는 않았으며, 다른 공격 경로가 배제되지 않습니다.

이 프로젝트는 어쨌든 공식 완화책을 적용합니다: 알려진 도달 경로만이 아니라 안전하지 않은 오류 경로 자체를 제거합니다.

설치

GitHub Pages의 서명된 yum 저장소에서:

# EL7
curl -o /etc/yum.repos.d/php2shell-eol-backport.repo \
  https://alvm.github.io/php2shell-eol-backport/php2shell-eol-backport-el7.repo
# EL6
curl -o /etc/yum.repos.d/php2shell-eol-backport.repo \
  https://alvm.github.io/php2shell-eol-backport/php2shell-eol-backport-el6.repo

yum update 'php*'            # confirm the signing key: fingerprint under "Signing key" below
service httpd restart        # and php-fpm, if you use it

저장소에는 이 프로젝트의 PHP 패키지만 포함되어 있으며, 패키지와 저장소 메타데이터 모두 서명되어 있습니다(gpgcheck=1, repo_gpgcheck=1). RPM과 소스 RPM은 서명된 SHA256SUMS와 함께 각 릴리스에 첨부되어 있으며, yum localinstall로 설치할 수 있습니다.

시스템 점검

./tools/check-patched.sh

설치된 모든 PHP 5 패키지를 FIXED 또는 VULNERABLE로 나열하고, PHP CLI가 수정된 코드를 실행하는지 확인하며, httpd 또는 php-fpm이 업데이트 전에 시작되어 여전히 이전 코드를 실행 중인 경우 경고합니다.

동작 변경 및 알려진 제한 사항

이 수정은 공식 최소 백포트를 따르며, 이는 정상적인 오류 처리보다 안전성을 우선시합니다:

  • 메모리 고갈 시 PHP 프로세스가 종료됩니다. 요청이 memory_limit을 초과하거나(또는 할당 크기가 오버플로우되면), PHP는 stderr(웹 서버 오류 로그)에 Fatal error: ...를 출력하고 프로세스가 즉시 종료됩니다. Apache / php-fpm은 새 워커를 시작합니다. 종료 함수는 실행되지 않으며, 해당 요청에서 업로드된 임시 파일은 제거되지 않습니다 — tmpwatch(EL6)와 systemd-tmpfiles(EL7)가 시간이 지나면서 /tmp에서 정리합니다.
  • 세션 업로드 진행률이 비활성화됩니다 (PHP 5.4; PHP 5.3에는 해당 기능이 없습니다).
  • 멀티파트 요청: 각 파트의 Content-Disposition 및 Content-Type 헤더만 유지되며 (PHP가 사용하는 유일한 헤더), 새로운 php.ini 지시문 max_multipart_body_parts가 파트 수를 제한합니다 (기본값 -1 = max_input_vars + max_file_uploads).
  • 패치는 내보내는 함수 하나(zend_mm_safe_error_ex)를 추가하고 기존 API나 ABI는 변경하지 않으므로, 벤더 패키지용으로 빌드된 확장이 계속 작동합니다.

이는 공개된 공격 경로에 대한 최소한의 완화 조치이며, PHP 5의 완전한 보안 업데이트가 아닙니다.

검증 방법

  • 벤더 소스 RPM에서 빌드되었습니다 (build/build.sh에 SHA-256 고정); 스펙 변경은 8줄입니다 (spec/*/php.spec.diff).

  • PHP 테스트 스위트(make test, RPM 빌드 중 실행)를 동일한 벤더 패키지의 수정되지 않은 재빌드와 비교했습니다. 새로 발생한 실패는 예상된 것들뿐입니다: 세션 업로드 진행률 테스트(기능 비활성화)와 tests/lang/bug45392.phpt(치명적 오류 메시지가 이제 공식 7.4 패치에서처럼 빈 줄로 시작함)입니다.

    테스트실패: 벤더실패: 패치됨
    EL7, PHP 5.4.16123731423 (업로드 진행률 8개 + bug45392)
    EL6, PHP 5.3.3112135556 (bug45392)

    정확한 수치는 빌드 환경에 따라 약간씩 다릅니다: GitHub 러너에서는 두 개의 SPL 파일 소유자 테스트 (DirectoryIterator_getOwner/getGroup_basic)도 실패하며, time_sleep_until_basic은 타이밍에 민감합니다. 이들 중 어느 것도 패치로 변경된 코드를 건드리지 않습니다.

  • PHP 5.4 패치는 Amazon Linux 2의 php-5.4.16에 대한 동일한 수정의 독립적인 포팅과 비교되었습니다: 핵심 변경 사항은 동일합니다. 차이점은 docs/ALTERNATIVES.md에 나열되어 있습니다.

  • 익스플로잇 코드는 작성되거나 사용되지 않았습니다. 업스트림 커밋과 대조하여 패치를 직접 검토하시기 바랍니다.

대안

  • 상용: TuxCare Extended Lifecycle Support는 2026년 10월 21일에 EL6 및 EL7용 수정 패키지를 출시했습니다.
  • 기타 무료 패치: 대부분 업스트림 5.4.45 / 5.3.29 소스를 위한 것이며, 하나는 Amazon Linux용입니다.

벤더 상태, 프로젝트 목록 및 비교는 docs/ALTERNATIVES.md를 참조하십시오.

직접 빌드하기

Docker와 빌드당 약 3 GB의 여유 디스크 공간이 필요합니다.

build/build.sh el7      # results in _build/el7/RPMS
build/build.sh el6      # results in _build/el6/RPMS

스크립트는 벤더 소스 RPM을 다운로드하고, SHA-256을 검증한 뒤, 이 저장소의 spec 파일과 패치를 사용하여 고정된 Oracle Linux 컨테이너에서 재빌드합니다.

서명 키

패키지와 릴리스 태그는 다음으로 서명됩니다:

pub   rsa4096/80797C97A561BC94 2026-10-22 [SC] [expires: 2029-10-21]
      2757 B60F D23D ED25 021B  BE37 8079 7C97 A561 BC94
uid   Oleksii Molchanov (php2shell-eol-backport signing key) <[email protected]>

키는 이 저장소(RPM-GPG-KEY-php2shell-eol-backport)와 keyserver.ubuntu.com에 있습니다.

저장소 레이아웃

patches/el7, patches/el6   the fix, as a patch against the vendor source tree
spec/el7, spec/el6         vendor spec files with the patch added, and their diffs
build/                     reproducible container build
tools/check-patched.sh     check an installed system
docs/ALTERNATIVES.md       vendor status, other projects, comparison
SECURITY.md                how to report a security problem

문제 보고

버그는 이슈로 등록해 주세요. 패치 자체의 보안 문제에 대해서는 SECURITY.md를 참고하세요.

크레딧 및 라이선스

  • 수정 사항은 PHP 보안 팀이 작성한 것이며, 이 프로젝트는 이를 이식(port)한 것일 뿐입니다. 보고자에 대해서는 GitHub 보안 공지(advisory)를 참고하세요.
  • 패치: 변경 대상 코드와 마찬가지로 PHP License 3.01(LICENSE.PHP)을 따릅니다. 빌드 스크립트 및 도구: MIT(LICENSE). 스펙 파일은 Red Hat / Fedora 패키징(MIT)에서 파생되었습니다.
도구 다운로드