PHP2Shell 취약점과 퀄리스(Qualys) 대응 방식: PHP 자산 식별부터 완화·패치 검증까지
2026년 10월 21일 PHP 개발팀은 웹 요청을 처리하는 PHP에서 인증 없이 원격 코드 실행이 가능한 취약점 2건(CVE-2026-109618, CVE-2026-109619)을 수정한 버전을 배포했습니다. 두 취약점은 CVSS v4.0 기준 9.2점이며 PHP2Shell이라는 이름으로 불립니다. 한국인터넷진흥원(KISA)은 다음 날인 22일 기업 보안 대응 수칙을 공개했습니다.해결 방법은 수정 버전으로 업데이트하는 것이지만, KISA가 제시한 점검 범위는 넓습니다. 외주로 제작한 사이트, 오래돼 관리하지 않는 사이트, 이벤트·테스트 서버, 관리자 페이지, PHP가 내장된 장비와 솔루션, 외부에서 가져온 컨테이너 이미지까지 확인 대상이며, 자산 관리 목록이 아니라 실제 동작 중인 서버를 기준으로 살펴봐야 합니다. 업데이트 후에는 PHP를 실행하는 서비스를 재시작해야 하고, 공식 보안 업데이트가 없는 PHP 8.1 이하는 지원 버전으로 전환해야 합니다. 보안 업체 안랩은 지원 기간이 끝난 취약한 PHP가 설치된 것으로 추정되는 국내 서버가 약 11만 건으로, 세계에서 6번째로 많다고 집계했습니다.이 글에서는 PHP2Shell이 무엇이고 대응이 어디서 어려워지는지 정리한 뒤, 퀄리스(Qualys) Enterprise TruRisk Platform으로 PHP 자산을 찾고, 실제 공격 가능성을 검증하고, 패치 전까지 위험을 줄이고, 패치가 끝났는지 확인하는 과정을 단계별로 설명합니다.☑️ PHP2Shell이란 무엇인가PHP2Shell은 PHP 자체에서 발견된 두 건의 치명적 취약점 CVE-2026-109618과 CVE-2026-109619를 함께 부르는 이름으로, 웹 요청을 처리하는 PHP 환경에서 인증 없이 원격 코드 실행을 허용합니다. 결함이 애플리케이션 코드가 아니라 PHP에 있기 때문에 웹사이트를 안전하게 개발했더라도 영향을 받을 수 있습니다. 완전한 해결책은 수정 버전으로 업데이트하는 것이며, 업데이트 전까지는 노출된 자산을 찾아 실제 공격 가능성을 확인하고 완화 조치를 적용해야 합니다.두 취약점의 원인CVE-2026-109618은 메모리 부족 오류가 처리 중인 작업을 중단시킬 때 발생합니다. 요청 데이터가 일부만 초기화된 상태로 남고, 정리 과정이 이 잘못된 상태를 정상 데이터처럼 처리하면서 원격 코드 실행 경로가 생깁니다. CVE-2026-109619는 요청 데이터를 담은 메모리가 해제된 뒤에도 PHP가 그 데이터에 대한 참조를 유지하는 문제입니다. 같은 워커가 처리하는 다음 요청이 초기화 전에 이 참조에 접근하면서 해제 후 사용(use-after-free)이 발생하며, 연구진은 이 과정을 통한 원격 코드 실행을 시연했습니다. 코드 실행 외에 인증 없이 PHP 워커 메모리를 열람하는 방식도 시연됐습니다. 노출된 메모리에는 비밀번호, 인증 토큰, API 키가 포함될 수 있어, KISA는 이상 징후가 없더라도 업데이트와 함께 DB 비밀번호, 외부 서비스 연동용 API 키, 관리자 계정 비밀번호를 교체할 것을 권고했습니다.영향받는 환경과 수정 버전PHP-FPM, Apache mod_php, php-cgi, FrankenPHP, LiteSpeed 등 웹 요청을 처리하는 PHP 설치 환경이 대상이며, 실제 공격 가능성은 설정과 애플리케이션 동작에 따라 달라집니다. 가장 시급한 환경은 Apache mod_php로, 애플리케이션 코드가 실행되기 전에 동작하는 공격이 시연됐습니다. PHP-FPM은 시작 방식 덕분에 특정 메모리 부족 공격 경로는 막히지만, 애플리케이션 조건에 따라 세션 처리 과정을 통한 원격 코드 실행이 검증됐기 때문에 역시 패치가 필요합니다.PHP 브랜치수정 버전PHP 8.58.5.12PHP 8.48.4.27PHP 8.38.3.36PHP 8.28.2.35배포판 패키지는 이전 버전 번호를 유지한 채 수정 사항이 백포트될 수 있어, 배포판 제공업체의 권고문을 기준으로 확인해야 합니다. PHP 8.1 이하는 정기 지원 대상이 아니며, 7.4·8.0·8.1에는 제한적인 소스 백포트만 제공됩니다. 이 버전들을 운영 중이라면 배포판이나 지원 업체의 수정 빌드를 확보하거나 지원 버전으로 업그레이드해야 합니다. KISA는 PHP 8.2도 2026년 12월 31일 보안 지원이 종료될 예정이어서 8.3 이상으로 전환할 것을 권고했습니다.☑️ PHP2Shell 대응이 어려운 이유PHP2Shell 대응에서는 패치해야 할 대상을 빠짐없이 찾는 일, 패치가 어려운 자산의 위험을 줄이는 일, 조치가 실제로 반영됐는지 확인하는 일이 함께 요구됩니다. 세 가지 모두 운영 환경의 규모와 구성에 따라 난도가 달라집니다.자산 목록에 드러나지 않는 PHPPHP는 웹 서버 한 곳에만 있지 않습니다. 한 자산에 여러 PHP 브랜치가 함께 설치돼 있거나, 컨테이너·호스팅 패널 패키지·어플라이언스·다른 소프트웨어 안에 번들로 들어간 경우도 있습니다. php -v 명령이 보여주는 버전이 실제로 웹 요청을 처리하는 설치본과 다를 수 있고, 배포판 백포트로 이전 버전 번호가 유지되는 경우도 있어 버전 번호만으로는 안전 여부를 판단하기 어렵습니다. 한 자산에 PHP 사본이 여럿이라면 기본 설치본만 업데이트하면 다른 사본은 취약한 상태로 남습니다. KISA가 자산 관리 목록이 아니라 실제 동작 중인 서버를 기준으로 살피라고 권고한 것도 같은 이유입니다. 점검 대상에는 네트워크 장비 관리 화면처럼 PHP가 내장된 장비·솔루션과 도커 등 외부에서 가져온 컨테이너 이미지가 포함됩니다.패치가 나오지 않는 버전과 손이 닿지 않는 서버Qualys Threat Research Unit(TRU)이 1만 곳 이상 고객사의 익명 데이터를 분석한 결과, PHP 패키지 설치 1억 6,700만 건이 확인됐고 그중 73%가 인터넷에 노출된 자산에 있었습니다. 버전이 확인된 1억 5,600만 건 가운데 수정 버전이 있는 지원 브랜치(8.2~8.5)는 28%(4,400만 건)였고, 71%(1억 1,000만 건)는 지원이 종료된 5.4~8.1 버전이었습니다. 이 가운데 대부분은 PHP 프로젝트가 수정 버전을 내지 않는 버전이고, PHP가 업무상 중요한 애플리케이션을 구동하는 경우가 많아 패치를 빠르게 진행하기도 어렵습니다. 인터넷에 노출된 PHP 서버 상당수는 어플라이언스, DMZ 서버, 레거시 호스트, 다른 팀이 관리하는 시스템에 있습니다. 이런 시스템은 에이전트를 설치하기 어려운 경우가 많아, 네트워크 스캔으로 노출을 확인하더라도 완화 조치는 서버마다 담당자가 접속해 설정을 바꾸는 방식으로 진행돼 왔습니다.설치로 끝나지 않는 패치패키지를 설치해도 실행 중인 프로세스는 재시작하기 전까지 취약한 코드를 메모리에 그대로 유지합니다. 컨테이너 환경에서는 실행 중인 컨테이너만 패치하면 이미지가 취약한 상태로 남기 때문에 이미지를 다시 빌드해 배포해야 합니다. 적용 속도도 느립니다. Qualys 데이터 기준으로 공개 후 12시간 동안 패치가 적용된 설치본은 버전이 확인된 1억 5,600만 건 중 19만 9,000건(약 0.13%)이었습니다.운영 서버에서 공개 PoC를 실행하는 위험공개 직후 깃허브에는 개념 증명(PoC) 스크립트가 빠르게 퍼졌지만, 이를 운영 서버의 노출 여부 확인에 쓰는 방식은 안전하지 않습니다. 일부 스크립트는 업로드 요청을 1분 가까이 열어두거나 큰 요청으로 메모리 부족을 일으켜 PHP 워커를 묶어두고, 코드가 담긴 데이터를 서버의 세션 파일에 기록합니다. 메모리 손상을 직접 일으키는 방식이어서 패치되지 않은 빌드에서는 워커가 중단될 수 있고, 악성코드가 숨겨진 가짜 PoC일 가능성도 있습니다. KISA 역시 출처가 불분명한 PoC를 직접 실행해 취약 여부를 확인하는 방식을 피하라고 안내했습니다.☑️ Qualys가 PHP2Shell에 대응하는 방식Qualys는 PHP2Shell 대응을 노출 탐지와 평가, 패치 전 완화, 조치와 검증의 세 단계로 구성하고, 각 단계를 Enterprise TruRisk Platform의 앱으로 처리합니다. 보안팀이 답해야 하는 질문으로 바꾸면 무엇이 노출됐는지, 무엇부터 고칠지, 패치 전까지 무엇을 할지, 고쳐졌는지 어떻게 확인할지의 순서입니다.보안팀의 질문확인하는 내용관련 Qualys 앱무엇이 노출됐는가PHP가 설치된 서버·컨테이너·클라우드 워크로드, 외부에서 접근 가능한 웹 애플리케이션과 APICSAM, VMDR, TotalCloud, Container Security, TotalAppSec무엇부터 고칠 것인가인터넷 노출, 지원 종료 여부, 실제 공격 가능성ETM(TruConfirm)패치 전까지 무엇을 할 것인가설정 단위 완화 적용, PHP 권장 설정 적용 여부Qualys 완화 조치, TruRisk Eliminate, Policy Audit고쳐졌는지 어떻게 아는가패치 배포, 서비스 재시작, 실행 중인 런타임 확인, 재검증TruRisk Eliminate, VMDR, TotalCloud, TotalAppSec, TruConfirm이 구성에서 눈여겨볼 점은 노출을 찾은 플랫폼에서 완화와 재검증까지 이어진다는 것입니다. 에이전트를 설치하기 어려운 서버도 스캐너를 통해 완화 스크립트를 실행할 수 있어, 서버마다 접속해 설정을 바꾸던 작업을 줄일 수 있습니다.☑️ 단계별 Qualys 활용 포인트PHP 설치 위치 파악: CSAM, VMDR, InstaScan, Deep Scan대응의 출발점은 PHP가 어디에서 실행되는지 아는 것입니다. Qualys에서는 QID 45110(PHP Server Detected)으로 PHP 설치를 식별하고, 이어서 PHP2Shell 탐지 QID로 취약 여부를 평가합니다. QID 45110은 설치 여부만 식별하고 취약 여부는 판정하지 않기 때문에 두 단계를 함께 쓰는 구조입니다. CyberSecurity Asset Management(CSAM)은 PHP가 설치된 자산 전체, 지원이 종료된 PHP 8.1 이하를 쓰는 자산, 중요도가 높은 자산에 설치된 PHP를 조회 쿼리로 보여줍니다. 고객 환경에서는 조치 범위를 산정하고 지원 종료 버전과 인터넷 노출 자산을 먼저 추려내는 데 쓰입니다. InstaScan은 Agent Insta 기반의 스캔리스 탐지 기능입니다. 배포판 보안 권고가 나오면 환경에서 이미 수집된 소프트웨어 인벤토리와 대조해, 새 스캔 없이 보통 권고 처리 후 몇 분 안에 탐지 결과를 냅니다. Red Hat, Ubuntu, Debian, Oracle Linux 권고를 지원하며, Qualys가 공개한 사례에서는 고객이 이미 보유한 인벤토리를 기준으로 두 CVE가 공개 10분 만에 탐지됐습니다. 배포판별 패치가 순차적으로 나오는 상황에서 다음 정기 스캔을 기다리지 않고 확인과 우선순위 작업을 시작할 수 있습니다. Deep Scan은 Windows 자산의 사용자 지정 애플리케이션 폴더, 보조 드라이브 등 비표준 경로에 있는 비관리 PHP 바이너리까지 찾습니다. 결과는 VMDR에 전체 경로, 설치 버전, 권장 수정 버전과 함께 표시되어, 기본 설치본만 업데이트하고 다른 사본을 놓치는 상황을 줄입니다. Deep Scan은 VMDR에 포함돼 있으며 Cloud Agent 6.2 이상이 설치된 Windows 자산에서 동작합니다.클라우드·컨테이너·웹 애플리케이션으로 범위 확장: TotalCloud, Container Security, TotalAppSecTotalCloud와 Container Security는 클라우드 이미지, 컨테이너 레지스트리, 빌드 산출물, 배포된 워크로드에서 취약한 PHP 구성 요소를 찾습니다. 컨테이너 이미지를 실행 중인 컨테이너, 쿠버네티스·서버리스 워크로드와 연결해 보여주기 때문에, 레지스트리에 저장만 된 이미지와 운영 환경에 배포된 이미지를 구분할 수 있습니다. Runtime Vulnerability Reachability는 eBPF 기반 Container Runtime Sensor로 실행 중인 컨테이너에서 실제로 사용되는 취약 패키지를 식별하고, 인터넷 노출과 워크로드 맥락을 더해 우선순위를 정합니다. 영향받는 워크로드를 이미지까지 역추적할 수 있어 의존성 업데이트, 이미지 재빌드, 재배포로 이어지는 조치 경로가 분명해집니다. KISA가 컨테이너 이미지를 점검 대상에 포함하고 컨테이너 환경은 새 이미지를 다시 배포하라고 안내한 부분과 연결되는 기능입니다. TotalAppSec은 공격자가 접근할 수 있는 웹 애플리케이션과 API 단위로 노출 범위를 확인합니다. 노출된 PHP 버전 정보를 통해 영향 가능성이 있는 애플리케이션을 표시하며, 호스트 인벤토리에 충분히 반영되지 않은 런타임도 대상에 포함됩니다. 노출된 버전 정보는 참고 지표이기 때문에, 실제 런타임 버전과 패치 상태는 VMDR과 TotalCloud 결과와 함께 확인합니다.실제 공격 가능한 자산 선별: ETM과 TruConfirm버전 대조는 수정되지 않은 빌드를 찾아주지만, 지금 공격이 가능한 자산이 어디인지는 알려주지 않습니다. Enterprise TruRisk Management(ETM)의 TruConfirm은 운영 자산에서 공격 가능성을 검증합니다. 대상 서버가 PHP를 실행하는지 확인한 뒤 공격자의 초기 동작을 본뜬 무해한 업로드 요청을 보내고, PHP 시작 경고를 통해 공격 진입점에 도달할 수 있는지와 권장 완화 설정(session.upload_progress.enabled=0)이 빠져 있는지를 확인합니다. 이 과정에서 파일을 만들거나 코드를 실행하거나 메모리 부하를 주지 않습니다. 노출이 확인된 자산은 TruRisk 점수가 상향되고, 근거와 함께 조치 대기열 상위로 올라갑니다. ETM은 이 검증 결과를 버전 기반 탐지와 함께 보여주기 때문에 진입점이 열려 있는지와 빌드가 패치됐는지를 한 번에 확인할 수 있고, 조치 후 다시 검증해 진입점이 닫혔다는 근거를 감사 대응에 활용할 수 있습니다. Qualys가 공개한 한 고객 환경에서는 PHP를 실행하는 자산 1,539개 중 TruConfirm에서 양성 결과가 나온 자산이 25개였습니다. 검증 결과는 인터넷 노출, 업무 중요도와 함께 판단해야 하며, 음성 결과가 모든 공격 경로가 닫혔다는 뜻은 아닙니다.Qualys는 PHP2Shell 전용 Fightback 대시보드도 다운로드로 제공합니다. PHP를 실행하는 자산 전체와 발견 경로, 인터넷 노출 인스턴스, 지원 종료·미패치 버전, Apache mod_php 위험, 운영체제별 고위험 자산, 탐지 상태(활성·수정·재발생)를 한 화면에서 보여줍니다.패치 전 위험 완화: Qualys 완화 조치, TruRisk Eliminate, Policy AuditQualys 완화 조치는 PHP의 완화 지침과 Qualys TRU의 분석을 바탕으로 한 설정 단위 변경입니다. 호스트에서 웹 요청을 처리하는 모든 PHP 런타임의 세션 업로드 진행률 기능을 끄고 관련 세션 처리 설정을 강화하며, 애플리케이션 코드는 바꾸지 않습니다. 적용 후 PHP 서비스를 자동으로 재시작하고, 재시작 뒤에는 설정이 실제로 적용됐는지, 다른 곳에서 덮어쓰지 않았는지를 확인합니다. 로그에 재시작이 필요하다고 표시되면 수동으로 재시작합니다. 이 조치는 확인된 세션 처리 공격 경로에 대한 노출을 줄이지만 두 CVE의 모든 공격 경로를 제거하지는 않습니다. 업로드 진행률 기능을 사용하는 애플리케이션은 적용 후 동작을 테스트해야 합니다. 적용 방식은 에이전트 설치 여부에 따라 나뉩니다. 취약 탐지 결과가 있는 고객은 대시보드에서 Mitigate Now를 선택합니다. Cloud Agent를 설치할 수 없는 어플라이언스, DMZ 서버, 레거시 호스트는 TruRisk Eliminate의 Custom Assessment and Remediation(CAR) 라이브러리에 있는 완화 스크립트를 스캐너 기반 호스트에 직접 실행합니다. 대상은 QID 389102와 비인증 점검 QID 39033으로 외부 경계 구간부터 식별합니다.Policy Audit은 기본 제공 정책 "Assess PHP Secure Configuration Baseline"으로 PHP가 권장한 완화 설정이 모든 PHP 호스트에 적용됐는지 확인합니다. php.ini의 memory_limit, post_max_size, session.upload_progress.enabled, fatal_error_backtraces와 PHP-FPM 풀 설정의 pm.max_requests 등이 점검 항목입니다. Linux는 Qualys 스캐너와 Cloud Agent로, Windows는 Cloud Agent로 점검합니다. 이미 운영 중인 웹방화벽(WAF), 침입방지시스템(IPS), 엔드포인트 탐지·대응(EDR)도 추가 방어 계층으로 함께 쓸 수 있습니다. 패치도 완화도 어려운 시스템은 공개 접근을 제한하거나 일시적으로 격리하고, PHP 8.1 이하는 운영체제 벤더의 백포트를 적용하거나 격리 후 폐기를 계획합니다.패치 적용과 완료 확인: TruRisk Eliminate와 재검증벤더 패치가 나온 환경에서는 TruRisk Eliminate로 패치를 배포합니다. 2026년 10월 29일 업데이트된 Qualys 자료 기준으로 Ubuntu PHP 보안 업데이트가 배포 대상에 포함되며, Qualys는 이 업데이트의 패치 신뢰도를 High로 평가했습니다. 해당 업데이트(USN-8948-1)는 사용자 영역 PHP 패키지만 변경해 운영체제 재부팅이 필요하지 않습니다.패치 후에는 PHP를 불러오는 모든 서비스를 재시작해야 합니다. 특히 CVE-2026-109619는 재사용되는 PHP 워커에 남은 요청 상태를 악용하기 때문에 재시작 여부가 중요합니다. 완료 여부는 다음 순서로 확인합니다.1. 병렬 브랜치, 컨테이너, 호스팅 패널 패키지, 어플라이언스 번들을 포함해 모든 PHP 설치를 찾습니다.2. 올바른 패키지, 바이너리, 이미지를 업데이트합니다. 배포판 패키지는 전체 패키지 버전을 벤더 권고문과 대조하고, 컨테이너는 패치된 이미지를 받거나 다시 빌드합니다.3. 서비스를 재시작하거나 컨테이너를 재배포하고, 이전 빌드로 남아 있는 워커가 없는지 확인합니다.4. 패치 적용을 확인한 뒤 긴급 조치로 바꾼 memory_limit, 업로드 제한, 워커 재사용 설정을 운영 기준에 맞게 되돌립니다.5. TotalAppSec으로 웹 애플리케이션과 API를 다시 스캔하고, VMDR과 TotalCloud로 런타임의 버전과 패치 상태를 확인하며, TruConfirm 검증을 반복합니다.재스캔에 쓰는 QID 533068은 패치되지 않은 애플리케이션을 중단시킬 수 있는 침투형 점검이므로, 운영 환경이 아닌 시스템이나 패치가 확인된 시스템에서 사용하는 것이 권장됩니다.☑️ 자주 묻는 질문PHP2Shell은 무엇인가요?PHP2Shell은 PHP에서 발견된 취약점 CVE-2026-109618과 CVE-2026-109619를 함께 부르는 이름입니다. 두 취약점 모두 CVSS v4.0 기준 9.2점이며, 웹 요청을 처리하는 PHP 환경에서 인증 없이 원격 코드 실행을 허용합니다. 애플리케이션 코드가 아니라 PHP 자체의 결함입니다.어떤 PHP 버전으로 업데이트해야 하나요?PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35 이상으로 업데이트해야 합니다. PHP 8.1 이하는 정기 지원 대상이 아니므로 배포판이나 지원 업체의 수정 빌드를 확인하거나 지원 버전으로 업그레이드해야 합니다. KISA는 PHP 8.2도 2026년 12월 31일 보안 지원이 종료되므로 8.3 이상으로 전환할 것을 권고했습니다.PHP 버전만 확인하면 취약 여부를 알 수 있나요?버전만으로는 판단하기 어렵습니다. 배포판 패키지는 이전 버전 번호를 유지한 채 수정 사항이 포함될 수 있고, 한 자산에 PHP 사본이 여럿이거나 php -v가 보여주는 버전이 웹 요청을 처리하는 설치본과 다를 수 있습니다. 버전 탐지와 함께 실행 중인 런타임과 공격 진입점의 노출 여부를 확인해야 합니다.패치 전에 적용할 수 있는 조치가 있나요?있지만 업데이트를 대신하지는 못합니다. PHP는 세션 업로드 진행률 기능 비활성화, 요청 크기 제한 등 임시 설정을 권고하며, 적용 후에는 모든 PHP 워커를 재시작해야 합니다. Qualys 완화 조치는 이 설정을 에이전트 설치 여부와 관계없이 적용하고 실제 적용 여부까지 확인하지만, 두 CVE의 모든 공격 경로를 막지는 않습니다.Qualys를 쓰지 않는 조직도 PHP2Shell 노출 여부를 확인할 수 있나요?Qualys는 PHP2Shell 무료 서비스를 활성화 시점부터 15일간, 최대 1,000개 자산을 대상으로 제공합니다. Qualys 클라우드에서 에이전트 없이 인터넷 노출 자산을 스캔하고, TruConfirm으로 공격 가능성을 확인하며, 스캐너를 통해 완화 조치를 적용하는 범위입니다.☑️ 마무리PHP2Shell에 대응하려면 업데이트와 함께 네 가지를 해야 합니다. 운영 중인 PHP를 빠짐없이 찾고, 그중 실제로 공격받을 수 있는 자산을 가려내고, 패치가 어려운 자산은 완화 조치로 위험을 줄이고, 패치 후에는 실행 중인 런타임까지 확인하는 것입니다. 이 글에서 살펴본 CSAM, VMDR, TotalCloud, Container Security, TotalAppSec, ETM, TruRisk Eliminate, Policy Audit은 모두 Qualys Enterprise TruRisk Platform을 구성하는 앱으로, 자산 가시성과 취약점 우선순위화, 조치를 하나의 플랫폼에서 다룹니다.클라우드네트웍스는 Qualys 파트너사로서 Enterprise TruRisk Platform 도입 검토부터 구축, 운영까지 지원합니다. 운영 중인 PHP 자산 현황 파악, 지원 종료 버전 관리, 패치 전 완화와 패치 후 검증 체계를 어디서부터 갖출지 함께 검토하고자 하신다면 아래로 문의해 주시기 바랍니다.▶ 퀄리스(Qualys) 자세히보기[출처 : Qualys, "PHP2Shell: Find, Mitigate, and Patch Now", Qualys, "Can't Patch PHP2Shell Yet?", Qualys, "PHP2Shell Risk Assessment", 바이라인네트워크, "KISA, 'PHP2Shell' 보안 취약점 긴급 대응 수칙 공개", "'프로그래밍 언어' PHP 보안 위험의 실체…대책은?"]
November 02, 2026