https://www.youtube.com/watch?v=hMZQu4CXRJs
https://www.youtube.com/watch?v=QvNCq6PT_LM
아래는 php.net 공지입니다
-------------------------------------------------------
보안 권고: 치명적인 원격 코드 실행(RCE) 취약점 발생, 즉시 업데이트 필요
PHP 8.5.12, 8.4.27, 8.3.36 및 8.2.35 버전은 인증되지 않은 사용자가 원격으로 코드를 실행할 수 있게 만드는 두 가지 치명적인 취약점을 해결합니다. 모든 PHP 사용자는 즉시 업데이트할 것을 강력히 권장합니다.
영향을 받는 대상: PHP-FPM, mod_php를 사용하는 Apache, php-cgi, FrankenPHP, LiteSpeed 등 웹 요청을 처리하는 모든 PHP 설치 환경. 특히 mod_php의 경우 위험도가 가장 높습니다. 인증되지 않은 요청을 통해 애플리케이션 코드가 실행되기 전에 공격이 트리거될 수 있음이 확인되었습니다.
취약점 상세 내용:
OOM(메모리 부족) 상황에서의 데이터 손상을 통한 원격 코드 실행(RCE), CVE-2026-109618 (GHSA-w8hw-w9fx-j79w): 메모리 부족(OOM) 처리 과정에서 PHP 내부 요청 데이터가 완전히 초기화되지 않은 상태로 중단될 수 있습니다. 이후 요청 정리(cleanup) 과정에서 이 유효하지 않은 데이터가 유효한 데이터로 잘못 처리될 수 있습니다.
오래된(stale) 전역 상태를 통한 원격 코드 실행(RCE), CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp): 요청과 관련된 내부 상태가 해당 메모리가 해제된 후에도 남아 있을 수 있습니다. 동일한 워커(worker)가 나중에 다른 요청을 처리할 때, 정상적인 초기화가 이루어지기 전에 이 '오래된 상태'를 그대로 사용할 위험이 있습니다.
업데이트 방법:
PHP 8.5.12, 8.4.27, 8.3.36 또는 8.2.35 버전으로 업데이트하십시오. 소스 코드는 다운로드 페이지에서 확인할 수 있으며, Windows용 소스 코드 및 바이너리 파일도 동일한 페이지에서 제공됩니다.
Linux 배포판 및 LTS(장기 지원) 제공업체에는 패치가 사전에 전달되었습니다. 각 제공업체의 업데이트된 패키지 정보를 확인하십시오.
PHP 8.1 이하 버전은 더 이상 PHP 프로젝트로부터 업데이트를 제공받지 않습니다. 일부 배포판이나 LTS 제공업체에서 백포트(backport)된 수정 사항을 제공할 수 있으므로, 해당 업체에 문의하거나 지원이 유지되는 버전으로 업그레이드하십시오. 이러한 취약점의 심각성을 고려하여, PHP 보안 팀은 소스 코드로부터 직접 빌드하거나 LTS(장기 지원) 공급업체의 지원을 받을 수 없는 사용자들을 위해 PHP 7.4, 8.0, 8.1 버전에 대한 최소한의 소스 백포트(source-backport)를 제공했습니다.
즉시 업데이트가 불가능한 경우, 업데이트만이 완전한 해결책임을 유념하십시오. 아래 조치들은 특정 공격 경로에 대한 노출을 줄여줄 수는 있으나, 설치 환경을 완전히 안전하게 만드는 것은 아닙니다.
OOM(메모리 부족) 손상을 통한 RCE(원격 코드 실행) (CVE-2026-109618):
`memory_limit=-1`로 설정하십시오. 이때 FPM 풀(pool)이나 Apache 설정에서 `php_admin_value`를 사용하는 등, 애플리케이션이 임의로 설정을 변경할 수 없는 방식으로 적용하는 것이 좋습니다. 또한, 특정 풀, 디렉토리 또는 애플리케이션 설정에서 다시 제한값을 설정하고 있지 않은지 확인하십시오. 이렇게 하면 PHP 차원의 메모리 제한 오류는 방지할 수 있지만, 근본적인 메모리 할당 실패가 발생할 경우 여전히 취약한 경로로 이어질 수 있습니다.
`post_max_size`를 낮게 설정하십시오. 파일 업로드가 필요 없는 애플리케이션의 경우 `post_max_size = 8M`으로 설정하고, 파일 업로드가 필요한 경우에는 `post_max_size = 32M`으로 설정하십시오. `upload_max_filesize`는 항상 `post_max_size`보다 작게 유지해야 합니다. 또한 웹 서버나 프록시 수준에서 디코딩된 요청 크기, 입력 필드 개수, 멀티파트(multipart) 구성 요소 개수, 헤더 개수, 중첩 깊이 등에 대한 제한을 적용하는 것을 고려하십시오. 이러한 제한은 `Content-Length` 헤더가 없거나 사용할 수 없는 요청에도 적용되어야 합니다.
컨테이너나 cgroup 제한을 사용하여 가용성 경계를 설정하십시오. 이때 영향을 받은 워커(worker) 프로세스만 종료하는 정책을 사용하는 것이 바람직합니다. `RLIMIT_AS`나 `RLIMIT_DATA`는 취약점을 유발하는 메모리 할당 실패를 일으킬 수 있으므로 사용하지 마십시오.
오래된(stale) 전역 상태를 통한 RCE (CVE-2026-109619):
`session.upload_progress.enabled=0`으로 설정하고 모든 워커 프로세스를 재시작하십시오. 이때 `php.ini`, FPM 풀 설정, 또는 요청 구문 분석(parsing) 이전에 적용되는 서버 설정을 사용해야 합니다. `ini_set()`이나 FPM의 `.user.ini` 파일에 의존해서는 안 됩니다. 이 조치는 확인된 세션 관련 공격 경로는 차단하지만, 다른 형태의 공격 경로는 차단하지 못할 수 있습니다.
PHP 8.5 버전의 경우, `fatal_error_backtraces=0`으로 설정하고 모든 워커 프로세스를 재시작하십시오. 이는 확인된 치명적인 역추적 경로만 차단합니다.
초기화 전에 진단 정보를 출력하는 요청별로 적용되는 유효하지 않거나 더 이상 사용되지 않는 설정을 제거합니다. error_reporting, display_errors 또는 @를 사용하여 진단 정보를 숨기는 것은 도움이 되지 않습니다.
콜백 실패, 업로드 또는 가져오기 처리 및 정리 작업을 포함하여 공격자가 접근할 수 있는 치명적인 오류 및 실행 시간 초과를 수정합니다.
위 링크된 권고 사항에 전체 기술 세부 정보가 있습니다.
https://www.youtube.com/watch?v=QvNCq6PT_LM
아래는 php.net 공지입니다
-------------------------------------------------------
보안 권고: 치명적인 원격 코드 실행(RCE) 취약점 발생, 즉시 업데이트 필요
PHP 8.5.12, 8.4.27, 8.3.36 및 8.2.35 버전은 인증되지 않은 사용자가 원격으로 코드를 실행할 수 있게 만드는 두 가지 치명적인 취약점을 해결합니다. 모든 PHP 사용자는 즉시 업데이트할 것을 강력히 권장합니다.
영향을 받는 대상: PHP-FPM, mod_php를 사용하는 Apache, php-cgi, FrankenPHP, LiteSpeed 등 웹 요청을 처리하는 모든 PHP 설치 환경. 특히 mod_php의 경우 위험도가 가장 높습니다. 인증되지 않은 요청을 통해 애플리케이션 코드가 실행되기 전에 공격이 트리거될 수 있음이 확인되었습니다.
취약점 상세 내용:
OOM(메모리 부족) 상황에서의 데이터 손상을 통한 원격 코드 실행(RCE), CVE-2026-109618 (GHSA-w8hw-w9fx-j79w): 메모리 부족(OOM) 처리 과정에서 PHP 내부 요청 데이터가 완전히 초기화되지 않은 상태로 중단될 수 있습니다. 이후 요청 정리(cleanup) 과정에서 이 유효하지 않은 데이터가 유효한 데이터로 잘못 처리될 수 있습니다.
오래된(stale) 전역 상태를 통한 원격 코드 실행(RCE), CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp): 요청과 관련된 내부 상태가 해당 메모리가 해제된 후에도 남아 있을 수 있습니다. 동일한 워커(worker)가 나중에 다른 요청을 처리할 때, 정상적인 초기화가 이루어지기 전에 이 '오래된 상태'를 그대로 사용할 위험이 있습니다.
업데이트 방법:
PHP 8.5.12, 8.4.27, 8.3.36 또는 8.2.35 버전으로 업데이트하십시오. 소스 코드는 다운로드 페이지에서 확인할 수 있으며, Windows용 소스 코드 및 바이너리 파일도 동일한 페이지에서 제공됩니다.
Linux 배포판 및 LTS(장기 지원) 제공업체에는 패치가 사전에 전달되었습니다. 각 제공업체의 업데이트된 패키지 정보를 확인하십시오.
PHP 8.1 이하 버전은 더 이상 PHP 프로젝트로부터 업데이트를 제공받지 않습니다. 일부 배포판이나 LTS 제공업체에서 백포트(backport)된 수정 사항을 제공할 수 있으므로, 해당 업체에 문의하거나 지원이 유지되는 버전으로 업그레이드하십시오. 이러한 취약점의 심각성을 고려하여, PHP 보안 팀은 소스 코드로부터 직접 빌드하거나 LTS(장기 지원) 공급업체의 지원을 받을 수 없는 사용자들을 위해 PHP 7.4, 8.0, 8.1 버전에 대한 최소한의 소스 백포트(source-backport)를 제공했습니다.
즉시 업데이트가 불가능한 경우, 업데이트만이 완전한 해결책임을 유념하십시오. 아래 조치들은 특정 공격 경로에 대한 노출을 줄여줄 수는 있으나, 설치 환경을 완전히 안전하게 만드는 것은 아닙니다.
OOM(메모리 부족) 손상을 통한 RCE(원격 코드 실행) (CVE-2026-109618):
`memory_limit=-1`로 설정하십시오. 이때 FPM 풀(pool)이나 Apache 설정에서 `php_admin_value`를 사용하는 등, 애플리케이션이 임의로 설정을 변경할 수 없는 방식으로 적용하는 것이 좋습니다. 또한, 특정 풀, 디렉토리 또는 애플리케이션 설정에서 다시 제한값을 설정하고 있지 않은지 확인하십시오. 이렇게 하면 PHP 차원의 메모리 제한 오류는 방지할 수 있지만, 근본적인 메모리 할당 실패가 발생할 경우 여전히 취약한 경로로 이어질 수 있습니다.
`post_max_size`를 낮게 설정하십시오. 파일 업로드가 필요 없는 애플리케이션의 경우 `post_max_size = 8M`으로 설정하고, 파일 업로드가 필요한 경우에는 `post_max_size = 32M`으로 설정하십시오. `upload_max_filesize`는 항상 `post_max_size`보다 작게 유지해야 합니다. 또한 웹 서버나 프록시 수준에서 디코딩된 요청 크기, 입력 필드 개수, 멀티파트(multipart) 구성 요소 개수, 헤더 개수, 중첩 깊이 등에 대한 제한을 적용하는 것을 고려하십시오. 이러한 제한은 `Content-Length` 헤더가 없거나 사용할 수 없는 요청에도 적용되어야 합니다.
컨테이너나 cgroup 제한을 사용하여 가용성 경계를 설정하십시오. 이때 영향을 받은 워커(worker) 프로세스만 종료하는 정책을 사용하는 것이 바람직합니다. `RLIMIT_AS`나 `RLIMIT_DATA`는 취약점을 유발하는 메모리 할당 실패를 일으킬 수 있으므로 사용하지 마십시오.
오래된(stale) 전역 상태를 통한 RCE (CVE-2026-109619):
`session.upload_progress.enabled=0`으로 설정하고 모든 워커 프로세스를 재시작하십시오. 이때 `php.ini`, FPM 풀 설정, 또는 요청 구문 분석(parsing) 이전에 적용되는 서버 설정을 사용해야 합니다. `ini_set()`이나 FPM의 `.user.ini` 파일에 의존해서는 안 됩니다. 이 조치는 확인된 세션 관련 공격 경로는 차단하지만, 다른 형태의 공격 경로는 차단하지 못할 수 있습니다.
PHP 8.5 버전의 경우, `fatal_error_backtraces=0`으로 설정하고 모든 워커 프로세스를 재시작하십시오. 이는 확인된 치명적인 역추적 경로만 차단합니다.
초기화 전에 진단 정보를 출력하는 요청별로 적용되는 유효하지 않거나 더 이상 사용되지 않는 설정을 제거합니다. error_reporting, display_errors 또는 @를 사용하여 진단 정보를 숨기는 것은 도움이 되지 않습니다.
콜백 실패, 업로드 또는 가져오기 처리 및 정리 작업을 포함하여 공격자가 접근할 수 있는 치명적인 오류 및 실행 시간 초과를 수정합니다.
위 링크된 권고 사항에 전체 기술 세부 정보가 있습니다.
총 2명이 반응했습니다
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 17개
우짜죠?
버전 8 사용자는 공식패치가 나왔지만
버전 7 이하는 후속조치가 어떻게될지 기다려봐야 겠습니다
아무튼 아직 패치가 없는걸 보면 이걸 패치할 영웅은 누가 될까요 두근 두근~
클플에서 차단룰을 제공한다고 합니다. 프리티어도 가능합니다. 패치가 힘드신 자체서버 운영하신다면 해당되는 모든 사이트를 클플 프리티어로 프록시 세팅하는것도 방법이 될듯 합니다.
패치 버전 나왔네요..
PHP 7.2.24
disable_functions = exec,passthru,shell_exec,system,proc_open,popen
expose_php = Off
allow_url_include = Off
display_errors = Off
아직 정식패치는 없나봅니다.
임시 조치뿐이 없어 보이죠.