🇰🇷 한글 설명
h2oai/h2o-3 REST API 3.46.0.4 버전에서 인증되지 않은 원격 공격자가 신뢰할 수 없는 데이터의 역직렬화를 통해 임의의 코드를 실행할 수 있는 취약점이 발견되었습니다. 이 취약점은 POST /99/ImportSQLTable 및 POST /3/SaveToHiveTable 엔드포인트에서 사용자 제어 JDBC URL이 DriverManager.getConnection으로 전달될 때 발생하며, 클래스패스에 MySQL 또는 PostgreSQL 드라이버가 있는 경우 역직렬화가 유도됩니다.
💡 쉬운 설명
해커가 인증 없이 서버에 특수한 명령을 보내 컴퓨터를 마음대로 조종할 수 있는 매우 위험한 보안 구멍입니다. 데이터베이스 연결 설정 과정에서 악성 코드가 실행되는 원리를 이용합니다.
🇺🇸 원문 (English)
A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitrary code via deserialization of untrusted data. The vulnerability exists in the endpoints POST /99/ImportSQLTable and POST /3/SaveToHiveTable, where user-controlled JDBC URLs are passed to DriverManager.getConnection, leading to deserialization if a MySQL or PostgreSQL driver is available in the classpath. This issue is fixed in version 3.47.0.
📍 영향받는 시스템
h2oai/h2o-3 REST API version 3.46.0.4
⚔️ 공격 벡터
인증되지 않은 원격 공격자가 조작된 JDBC URL을 포함한 HTTP POST 요청을 전송하여 공격
🛡️ 대응 방법
h2o-3 버전을 3.47.0 이상으로 업데이트
🔧 검증 코드
출력된 Version 값이 3.46.0.4 이하인지 확인하여 취약 여부를 판단합니다.
pip show h2o 2>/dev/null | grep -E 'Version'