🇰🇷 한글 설명
Snowflake의 Python, Go, JDBC, Node.js 드라이버에서 OCSP 응답 검증이 부적절하게 이루어져 폐기된 TLS 인증서가 유효한 것으로 수용될 수 있는 취약점이 발견되었습니다. 공격자가 폐기된 인증서와 개인키를 보유한 상태에서 중간자 공격(MitM)을 수행할 경우, 드라이버가 공격자의 엔드포인트와 TLS 세션을 수립하여 전송 중인 데이터를 읽거나 수정할 수 있습니다.
💡 쉬운 설명
인증서가 취소되었는지 확인하는 과정에 오류가 있어, 가짜 인증서를 사용하는 해커가 통신 내용을 훔쳐볼 수 있는 문제입니다. 해커가 중간에서 데이터를 가로채거나 내용을 바꿀 위험이 있습니다.
🇺🇸 원문 (English)
Improper OCSP response validation in the Snowflake Python, Go, JDBC, and Node.js drivers allowed a revoked TLS certificate to be accepted as valid, because OCSP responses were not reliably bound to the certificate being validated and definitive verification failures were treated as transient. A man-in-the-middle attacker holding a revoked certificate and its private key for a Snowflake or stage hostname could cause the driver to establish a TLS session to the attacker-controlled endpoint anyway, allowing the attacker to read and modify data transmitted within that connection. Successful exploitation requires that on-path position and the corresponding private key, and impact is limited to data carried within the intercepted connection. The fix is available in Snowflake Connector for Python v4.7.3, Snowflake Go Driver v2.2.0, Snowflake JDBC Driver v4.3.4 (including the snowflake-jdbc-fips and snowflake-jdbc-thin), and Snowflake Node.js Driver v3.3.0. Users must manually upgrade.
📍 영향받는 시스템
Snowflake Python Driver, Go Driver, JDBC Driver, Node.js Driver (버전 미표기)
⚔️ 공격 벡터
중간자 공격(Man-in-the-Middle)을 통해 폐기된 인증서와 개인키를 사용하여 통신 가로채기
🛡️ 대응 방법
Python v4.7.3, Go v2.2.0, JDBC v4.3.4, Node.js v3.3.0 이상으로 수동 업데이트
🔧 검증 코드
출력된 드라이버 버전이 보안 패치가 적용된 최소 버전(Python 4.7.3, Go 2.2.0, JDBC 4.3.4, Node.js 3.3.0)보다 낮은지 확인하십시오.
pip show snowflake-connector-python | grep Version || go version | grep snowflake || java -cp snowflake-jdbc.jar com.snowflake.client.jdbc.internal.Version | grep Version || npm list snowflake-sdk | grep snowflake