🇰🇷 한글 설명
Ludwig 프레임워크 0.10.4 이하에서 predict() 메서드가 pickle 파일을 검증 없이 역직렬화하는 취약점입니다. 악의적인 pickle 파일을 통해 임의의 파이썬 객체를 역직렬화할 수 있어 원격 코드 실행이 가능합니다.
💡 쉬운 설명
Ludwig라는 데이터 분석 도구에서 특정 파일 형식을 안전하지 않게 처리합니다. 공격자가 특수한 파일을 보내면 피해자의 컴퓨터에서 자유롭게 코드를 실행할 수 있습니다.
🇺🇸 원문 (English)
The Ludwig framework thru 0.10.4 is vulnerable to insecure deserialization (CWE-502) through its predict() method. When a user provides a dataset file path to the predict() method, the framework automatically determines the file format. If the file is a pickle (.pkl) file, it is loaded using pandas.read_pickle() without any validation or security restrictions. This allows the deserialization of arbitrary Python objects via the unsafe pickle module. A remote attacker can exploit this by providing a maliciously crafted pickle file, leading to arbitrary code execution on the system running the Ludwig prediction.
📍 영향받는 시스템
Ludwig framework 버전 0.10.4 이하
⚔️ 공격 벡터
악의적으로 조작된 pickle(.pkl) 파일을 predict() 메서드의 데이터셋 경로로 전달하여 원격 코드 실행
🛡️ 대응 방법
Ludwig를 0.10.5 이상으로 업그레이드하거나 untrusted 출처의 pickle 파일 로드 금지
🔧 검증 코드
출력된 버전이 0.10.4 이하면 취약 상태이므로 즉시 업그레이드 필요
pip show ludwig 2>/dev/null | grep Version | awk '{print $2}'