🇰🇷 한글 설명
Socket Firewall 2.0.0 미만 버전의 registry 모드에서 기본적으로 업스트림 TLS 인증서를 검증하지 않는 취약점이 발견되었습니다. 설정 파일에서 검증 옵션이 누락될 경우 SSL 검증이 비활성화되어, 공격자가 중간에서 트래픽을 가로채고 악성 패키지를 주입하거나 방화벽의 결정 사항을 조작할 수 있습니다.
💡 쉬운 설명
보안 프로그램이 통신 상대방이 진짜인지 확인하는 절차를 건너뛰는 문제입니다. 이로 인해 해커가 중간에서 가짜 데이터를 보내거나 악성 프로그램을 몰래 끼워 넣을 수 있습니다.
🇺🇸 원문 (English)
Socket Firewall (socketdev/socket-registry-firewall) in registry mode before 2.0.0 does not verify upstream TLS certificates by default. When the api_ssl_verify and upstream_ssl_verify configuration keys are omitted from socket.yml, the generated configuration sets SOCKET_API_SSL_VERIFY='false' and UPSTREAM_SSL_VERIFY='false', and the OpenResty/Lua HTTP client used for outbound requests accepts any certificate, including self-signed and otherwise untrusted certificates, without validating the chain. An attacker positioned to intercept traffic between Socket Firewall and the Socket API or an upstream package registry can present a crafted certificate and modify responses in transit, including substituting malicious package content or altering the allow/block decisions the firewall enforces. Setting api_ssl_verify: true and upstream_ssl_verify: true enables verification; however, in versions before 1.1.334, the generated nginx configuration did not emit lua_ssl_trusted_certificate, and thus verification could not be used successfully without manually patching the generated configuration. Version 2.0.0 changes the default for both settings to true.
📍 영향받는 시스템
socketdev/socket-registry-firewall 2.0.0 미만 버전
⚔️ 공격 벡터
중간자 공격(Man-in-the-Middle)을 통해 인증되지 않은 인증서를 제시하고 통신 내용을 조작
🛡️ 대응 방법
Socket Firewall을 2.0.0 이상 버전으로 업데이트하거나, socket.yml에서 api_ssl_verify 및 upstream_ssl_verify를 true로 설정
🔧 검증 코드
출력된 버전이 2.0.0 미만인 경우 해당 취약점에 노출된 상태입니다.
socket-registry-firewall --version 2>/dev/null || echo 'Package not found'