🇰🇷 한글 설명
NGINX OSS와 NGINX Plus에서 업스트림 Transport Layer Security (TLS) 서버로 프록시 설정 시 취약점이 존재합니다. 공격자는 중간자 공격(MITM) 위치에 있을 때 업스트림 서버에서 평문을 응답에 주입할 수 있습니다.
💡 쉬운 설명
NGINX 서버가 안전하지 않은 설정으로 업스트림 서버와 통신할 때 공격자가 데이터를 조작할 수 있는 취약점입니다. 이는 중간자 공격을 통해 발생할 수 있습니다. 업스트림 서버와의 통신에서 데이터가 암호화되지 않은 경우에 발생합니다.
🇺🇸 원문 (English)
A vulnerability exists in NGINX OSS and NGINX Plus when configured to proxy to upstream Transport Layer Security (TLS) servers. An attacker with a man-in-the-middle (MITM) position on the upstream server side—along with conditions beyond the attacker's control—may be able to inject plain text data into the response from an upstream proxied server. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
📍 영향받는 시스템
NGINX OSS와 NGINX Plus, 특히 End of Technical Support(EoTS) 이전의 버전
⚔️ 공격 벡터
중간자 공격(MITM) 및 업스트림 서버에서의 조건
🛡️ 대응 방법
최신 버전의 NGINX를 사용하고, 업스트림 서버와의 통신에서 TLS를 사용하여 데이터를 암호화합니다. 또한, NGINX 설정을 검토하여 취약점을 최소화합니다.
🔧 검증 코드
로컬 시스템에서 NGINX 버전을 확인하는 Python 코드입니다. 이 코드는 NGINX의 버전을 확인하여 취약점 여부를 판단합니다. 실행 전 Python이 설치되어 있어야 하며, 관리자 권한이 필요하지 않습니다.
python -c "import subprocess; output = subprocess.check_output(['nginx', '-v']); version = output.decode('utf-8').split(' ')[2]; if version < '1.23.3': print('{"result": "취약", "reason": "NGINX 버전이 낮습니다."}') else: print('{"result": "양호", "reason": "NGINX 버전이 최신입니다."}')"