Apache HTTP Server mod_proxy 서버 측 요청 위조(SSRF) 취약점 (CVE-2021-40438) 분석 및 대응 가이드
실무자 핵심 요약 (Executive Summary)
SECOPS ASSESSMENTApache HTTP Server 2.4.48 및 이전 버전에서 mod_proxy 모듈을 활성화하여 사용하는 환경
인증되지 않은 원격 공격자가 특수하게 조작된 URI 요청을 전송하여, 내부망의 비공개 리소스에 접근하거나 임의의 외부 서버로 트래픽을 프록시하도록 강제할 수 있습니다 (SSRF)
Apache HTTP Server 버전을 2.4.49 이상으로 즉시 업그레이드하거나, 패치 적용 전까지 mod_proxy 설정을 비활성화 또는 제한하십시오
영향받는 제품 및 버전 범위
권장 패치 및 임시 완화(Workaround) 가이드
패치 및 우회 명령어1. 공식 보안 패치 및 버전 업그레이드 명령어
가장 확실한 해결책은 Apache HTTP Server를 최신 안정 버전(2.4.49 이상)으로 업그레이드하는 것입니다.
# Debian/Ubuntu 계열 시스템 업데이트
sudo apt-get update
sudo apt-get install --only-upgrade apache2 -y
# RedHat/CentOS/Rocky Linux 계열 시스템 업데이트
sudo dnf clean all
sudo dnf upgrade httpd -y
# 업그레이드 후 Apache 서비스 재시작 및 버전 확인
sudo systemctl restart httpd || sudo systemctl restart apache2
apache2 -v || httpd -v2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정
즉각적인 패치가 어려운 경우, mod_proxy 설정을 검토하여 불필요한 프록시 요청을 차단하거나 취약한 요청 패턴을 거부하는 RewriteRule을 적용합니다.
# Apache 설정 파일(httpd.conf 또는 apache2.conf)에 아래 규칙 추가
<IfModule mod_rewrite.c>
RewriteEngine On
# unix: 소켓 스키마를 악용한 비정상적인 요청 차단 (F: Forbidden)
RewriteCond %{QUERY_STRING} ^unix:.* [NC,OR]
RewriteCond %{REQUEST_URI} ^.*unix:.* [NC]
RewriteRule .* - [F,L]
</IfModule>
# 설정 적용 후 구문 검사 및 서비스 재적재
sudo apachectl configtest
sudo systemctl reload httpd || sudo systemctl reload apache23. 침해 흔적(IoC) 및 로그·버전 점검 스크립트
액세스 로그에서 unix: 키워드가 포함된 비정상적인 프록시 요청 시도를 탐지하는 스크립트입니다.
# Apache 액세스 로그에서 'unix:' 문자열이 포함된 악성 요청 패턴 검색
echo '[+] Scanning Apache Access Logs for CVE-2021-40438 exploitation attempts...'
sudo grep -Ei 'unix:[^|]*\|' /var/log/apache2/access.log /var/log/httpd/access_log 2>/dev/null || echo '[-] No suspicious patterns found.'코드 수정 전에도 가상 패치(Virtual Patching)로 웹 공격을 즉시 차단하세요
서버 재시작이나 긴급 패치가 어려운 운영 환경이라면 클라우드 WAF 관리형 룰셋을 활성화하여 SQLi, RCE, XSS 익스플로잇 페이로드를 엣지에서 1분 만에 차단할 수 있습니다.
취약점 발생 원리 및 공격 메커니즘
1. 취약점 개요 및 발생 원인 (Root Cause)
본 취약점(CVE-2021-40438)은 Apache HTTP Server의 mod_proxy 모듈에서 발생하는 심각한 서버 측 요청 위조(SSRF, Server-Side Request Forgery) 취약점입니다 [1, CWE-918]. 취약점의 근본 원인은 프록시 요청을 처리할 때 입력되는 URI 경로의 유효성 검증 미흡에 있습니다. 공격자가 매우 긴 unix: 소켓 경로 접두사와 함께 특정 매개변수를 조합하여 요청을 전송하면, 내부 버퍼 처리 과정에서 경로 해석 오류가 발생하여 프록시 대상 백엔드 주소를 공격자가 지정한 임의의 대상(Origin Server)으로 덮어쓸 수 있게 됩니다.
2. 공격 메커니즘 및 익스플로잇 시나리오
공격자는 mod_proxy가 활성화된 대상 서버에 다음과 같은 구조의 악성 HTTP 요청을 전송합니다: GET http://target-server/proxy?unix:AAAA...[770자 이상]...|http://attacker-controlled-server/ HTTP/1.1 이때 mod_proxy 내부의 ap_proxy_canon_url 함수 또는 관련 URI 파싱 로직은 unix: 소켓 경로의 길이를 처리하는 과정에서 오버플로우 또는 문자열 절단 현상을 일으킵니다. 결과적으로 Apache는 로컬 유닉스 도메인 소켓 통신 대신 파이프 문자(|) 뒤에 지정된 공격자의 외부 서버 주소(http://attacker-controlled-server/)를 유효한 프록시 대상(Origin)으로 오인하여 요청을 전달하게 됩니다.
3. 비즈니스 및 인프라 파급 영향
이 취약점은 CVSS 9.0(Critical)의 높은 위험도를 가지며, CISA KEV(Known Exploited Vulnerabilities) 목록에 등재되어 실제 공격에 적극적으로 악용되고 있음이 확인되었습니다. 성공적으로 악용될 경우, 공격자는 방화벽이나 ACL(접근 제어 목록)로 보호된 내부 네트워크 인프라(예: 클라우드 메타데이터 서비스, 내부 API, 데이터베이스 등)에 직접 접근할 수 있습니다. 이는 민감한 비즈니스 데이터의 유출, 내부 시스템 장악, 그리고 2차 내부 침투(Lateral Movement)로 이어질 수 있는 치명적인 위협입니다.
공식 보안 권고문 및 참조 링크
A crafted request uri-path can cause mod_proxy to forward the request to an origin server choosen by the remote user. This issue affects Apache HTTP Server 2.4.48 and earlier.
자주 묻는 실무 질문 (FAQ — CVE-2021-40438)
FAQQ1. CVE-2021-40438 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?
CVE-2021-40438의 기본 점수는 CVSS 9.0 (CRITICAL)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 100.0%입니다. 현재 미국 CISA KEV(실제 악용이 확인된 취약점 카탈로그)에 등재되어 있으므로 최우선 긴급 패치가 필요합니다.
Q2. CVE-2021-40438에 영향을 받는 벤더와 제품은 무엇입니까?
주요 영향 벤더는 apache이며, 대상 컴포넌트는 http_server입니다. 상세 영향 범위: Apache HTTP Server 2.4.48 및 이전의 모든 2.4.x 버전 (mod_proxy 모듈 활성화 시 영향 받음)
Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?
[권장 조치] Apache HTTP Server 버전을 2.4.49 이상으로 즉시 업그레이드하거나, 패치 적용 전까지 mod_proxy 설정을 비활성화 또는 제한하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.
CVE-2021-40438 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성
클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.
🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (apache)
동일 카테고리 전체 보기 →Apache ActiveMQ Jolokia JMX-HTTP 브릿지 원격 코드 실행(RCE) 취약점 보안 권고 (CVE-2026-34197)
[영향 대상] Apache ActiveMQ Classic 5.19.4 미만 버전 및 6.0.0 이상 6.2.3 미만 버전
Apache Tomcat EncryptInterceptor 우회 및 민감 정보 평문 노출 취약점 (CVE-2026-34486)
[영향 대상] Apache Tomcat 11.0.20, 10.1.53, 9.0.116 버전에서 클러스터링(Clustering) 및 EncryptInterceptor를 사용하는 환경
Apache Tomcat EncryptInterceptor 패딩 오라클 취약점 (CVE-2026-29146) 보안 권고
[영향 대상] Apache Tomcat의 클러스터링 멤버십 보호를 위해 기본 설정으로 `EncryptInterceptor`를 사용하는 환경 (11.0.0-M1~11.0.18, 10.0.0-M1~10.1.52, 9.0.13~9.0.115, 8.5.38~8.5.100, 7.0.100~7.0.109)
Apache MINA 3.0 JavaNativeMessageDecoder 역직렬화 원격 코드 실행(RCE) 취약점 (CVE-2026-118636)
[영향 대상] Apache MINA 3.0.0 비활성 브랜치 및 해당 코덱 모듈을 사용하는 Java 애플리케이션
일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독
보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.