PHP 치명적 취약점(CVE-2026-109618, CVE-2026-109619) 대응 및 Nginx·PHP-FPM 패치
1. 작업 개요
2026년 10월 21일, PHP에서 원격 코드 실행(Remote Code Execution, RCE)으로 이어질 수 있는 치명적인 보안 취약점 2건이 공개되었습니다.
이번 취약점은 CVE-2026-109618, CVE-2026-109619로 식별되며 PHP 애플리케이션이 실행되는 서버에 영향을 줄 수 있습니다. 공격자가 특수하게 조작된 네트워크 요청을 전달할 경우 대상 시스템에서 임의의 코드를 실행할 수 있어 신속한 보안 패치 적용이 필요합니다.
- 부적절한 예외 상황 처리(Improper Handling of Exceptional Conditions, CVE-2026-109618) 취약점
- 해제 후 사용(Use After Free, CVE-2026-109619) 취약점
PHP 공식 보안 공지와 Ubuntu 보안 공지에서도 해당 취약점에 대한 보안 업데이트를 권고하고 있습니다.
- 취약점 식별자: CVE-2026-109618, CVE-2026-109619
- 취약점 유형: 원격 코드 실행(RCE)
- 심각도: Critical
- 대응 방안: 운영체제 저장소에서 제공하는 보안 패키지 업데이트 적용 및 관련 서비스 재시작

2. 작업 전 확인 사항
업데이트 작업 전 현재 서비스 상태와 설치된 패키지 정보를 확인합니다.
# Nginx 버전 확인
nginx -v
# 서비스 상태 확인
systemctl status nginx
# PHP-FPM 버전 확인
php-fpm8.3 -v
# 설치된 PHP 패키지 확인
dpkg -l | grep 'php'
# 서비스 상태 확인
systemctl status php8.3-fpm
PHP 8.5 환경에서는 php-fpm8.3 대신 php-fpm8.5를 사용합니다.
# PHP-FPM 버전 확인
php-fpm8.5 -v
# 설치된 PHP 패키지 확인
dpkg -l | grep 'php'
# 서비스 상태 확인
systemctl status php8.5-fpm
운영 서버에서 작업하는 경우에는 사전에 서비스 영향도를 확인하고 필요한 설정 파일 백업 및 점검 시간을 확보합니다.
3. Nginx 및 PHP-FPM 8.3 업데이트
3-1. Nginx 패키지 업데이트
패키지 목록을 갱신한 뒤 기존에 설치된 Nginx 패키지만 업데이트합니다.
curl -fsSL https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
https://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update
sudo apt --only-upgrade install -y nginx
--only-upgrade 옵션은 해당 패키지가 설치되어 있는 경우에만 업데이트하도록 지정합니다.
3-2. PHP-FPM 8.3 관련 패키지 업데이트
먼저 설치된 PHP 패키지 목록을 확인합니다.
dpkg -l | grep 'php' | awk '{print $2}'
PHP 8.3 관련 패키지만 업데이트합니다.
sudo apt install -y software-properties-common apt-transport-https
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt --only-upgrade install -y \
$(dpkg -l | grep 'php8.3-' | awk '{print $2}')
PHP-FPM뿐 아니라 CLI 및 기타 PHP 모듈도 함께 업데이트할 수 있도록 실제 설치된 php8.3- 패키지를 대상으로 진행합니다.
3-3. 설정 파일 문법 검사
서비스를 재시작하기 전에 Nginx와 PHP-FPM 설정을 검사합니다.
nginx -t
php-fpm8.3 -t
정상이라면 각 명령어에서 설정 파일 검사 성공 메시지를 확인할 수 있습니다.
설정 오류가 발생하면 서비스 재시작을 진행하지 말고 오류 메시지에 표시된 파일과 설정 항목을 먼저 확인합니다.
3-5. 서비스 재시작 및 버전 확인
설정 검사에 이상이 없는 경우 서비스를 재시작합니다.
sudo systemctl restart nginx php8.3-fpm
업데이트된 버전을 확인합니다.
nginx -v
php-fpm8.3 -v
서비스 상태도 함께 점검합니다.
systemctl status nginx --no-pager
systemctl status php8.3-fpm --no-pager
4. Nginx 설정 오류 발생 시 조치
Nginx 설정 검사 과정에서 다음과 같이 HTTP/2 관련 설정 오류가 발생할 수 있습니다.
listen 443 ssl http2;
사용 중인 Nginx 버전에서 해당 구문이 더 이상 권장되지 않거나 지원되지 않는 경우 다음과 같이 http2 on; 설정으로 분리할 수 있습니다.
listen 443 ssl;
http2 on;
기존 작업 절차에서 사용한 일괄 변경 명령어는 다음과 같습니다.
sudo sed -i \
's/listen 443 ssl http2;/listen 443 ssl;\n http2 on;/g' \
/etc/nginx/conf.d/*.conf
주의: 위 명령어는 지정한 설정 파일을 직접 수정합니다. 실행 전 대상 파일을 백업하고 변경 대상과 기존 설정을 확인해야 합니다. 모든 설정에 일괄 적용하기보다는 오류가 확인된 파일에 한정하여 변경하는 것을 권장합니다.
변경 후에는 반드시 설정 검사를 수행합니다.
sudo nginx -t
검사에 성공한 경우에만 서비스를 재시작합니다.
sudo systemctl restart nginx
PHP-FPM 설정 오류가 발생한 경우에는 Nginx 설정을 임의로 변경하지 말고 PHP-FPM의 설정 파일과 오류 로그를 별도로 확인합니다.
5. PHP-FPM 8.5 업데이트
PHP 8.5를 사용하는 서버도 동일한 절차로 업데이트를 진행합니다.
5-1. 설치된 PHP 패키지 확인
dpkg -l | grep 'php' | awk '{print $2}'
5-2. PHP 8.5 관련 패키지 업데이트
sudo apt install -y software-properties-common apt-transport-https
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt --only-upgrade install -y \
$(dpkg -l | grep 'php8.5-' | awk '{print $2}')
5-3. 설정 검사
php-fpm8.5 -t
nginx -t
5-4. 서비스 재시작
sudo systemctl restart nginx php8.5-fpm
5-5. 업데이트 버전 및 서비스 상태 확인
nginx -v
php-fpm8.5 -v
systemctl status nginx --no-pager
systemctl status php8.5-fpm --no-pager
이번 PHP 보안 취약점은 원격 코드 실행으로 이어질 수 있는 심각한 문제인 만큼 PHP-FPM을 사용하는 서버는 운영체제 및 패키지 저장소에서 제공하는 보안 업데이트를 신속하게 적용해야 합니다.
업데이트 과정에서는 Nginx와 PHP-FPM의 설정 검사를 선행하고 서비스 재시작 후 패키지 버전 및 애플리케이션 동작을 확인하는 것이 중요합니다.
운영 환경에서는 서버별 PHP 버전과 설치된 패키지 구성이 다를 수 있으므로 일괄 작업 전 대상 서버의 환경을 확인하고 순차적으로 패치를 진행하는 것을 권장합니다.
참고URL
- 한국인터넷진흥원(KISA) : PHP 제품 보안 업데이트 권고
- PHP 공식 홈페이지 : Security advisory: Critical remote code execution vulnerabilities, update now
- Canonical Ubuntu : php2shell (CVE-2026-109618 and CVE-2026-109619) – PHP critical vulnerability fixes available
- Ubuntu Security Notice : USN-8948-1: PHP vulnerabilities
'이슈(보안)' 카테고리의 다른 글
| 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세 가이드 (0) | 2026.09.11 |
|---|---|
| 삼성 등 사용 미국 포티넷 보안장비 해킹당했다 (0) | 2026.06.22 |
| 보안 권고문 (0) | 2026.06.04 |
| 우분투에서 jq 보안 취약점 대응 - apt 업데이트 및 정적 바이너리 적용 방법 (0) | 2026.06.04 |
| Redis 제품 보안 업데이트 권고 (0) | 2025.11.03 |