🇰🇷 한글 설명
Fugue 0.9.2 및 이전 버전의 FlaskRPCServer에서 pickle 역직렬화 과정 중 원격 코드 실행(RCE) 취약점이 발견되었습니다. fugue/rpc/flask.py의 _decode() 함수가 입력 데이터에 대한 검증 없이 cloudpickle.loads()를 직접 호출하여 악성 데이터 처리 시 임의의 코드가 실행될 수 있습니다.
💡 쉬운 설명
해커가 특수하게 조작된 데이터를 보내면 서버가 이를 처리하는 과정에서 해커가 원하는 명령을 마음대로 실행할 수 있는 보안 결함입니다. 데이터의 안전성을 확인하지 않고 그대로 읽어들이는 과정에서 문제가 발생합니다.
🇺🇸 원문 (English)
Fugue is a unified interface for distributed computing that lets users execute Python, Pandas, and SQL code on Spark, Dask, and Ray with minimal rewrites. In version 0.9.2 and prior, there is a remote code execution vulnerability by pickle deserialization via FlaskRPCServer. The Fugue framework implements an RPC server system for distributed computing operations. In the core functionality of the RPC server implementation, I found that the _decode() function in fugue/rpc/flask.py directly uses cloudpickle.loads() to deserialize data without any sanitization. This creates a remote code execution vulnerability when malicious pickle data is processed by the RPC server. The vulnerability exists in the RPC communication mechanism where the client can send arbitrary serialized Python objects that will be deserialized on the server side, allowing attackers to execute arbitrary code on the victim's machine. This issue has been patched via commit 6f25326.
📍 영향받는 시스템
Fugue version 0.9.2 and prior
⚔️ 공격 벡터
RPC 통신 메커니즘을 통해 조작된 cloudpickle 데이터를 전송하여 서버 측에서 역직렬화 유도
🛡️ 대응 방법
커밋 6f25326이 적용된 최신 버전으로 업데이트
🔧 검증 코드
출력된 버전이 0.9.2 이하이면 취약한 상태이며, 0.9.2보다 높으면 패치된 상태입니다.
pip show fugue | grep Version