🇰🇷 한글 설명
Hugging Face Datasets 5.1.0 이하 버전에는 안전하지 않은 역직렬화 취약점이 존재합니다. 공격자가 악성 pickle 파일을 만들어 deprecated pandas 패키지 빌더를 통해 로드되도록 하면, 피해자 프로세스의 권한으로 임의의 Python 코드가 실행될 수 있습니다. 이는 pandas.read_pickle()이 검증 없이 데이터를 처리하기 때문입니다.
💡 쉬운 설명
데이터셋을 불러오는 도구에 보안 허점이 있어, 악의적으로 만든 데이터 파일을 열면 공격자가 내 컴퓨터에서 원하는 명령을 실행할 수 있습니다. 신뢰할 수 없는 출처의 데이터 파일은 열지 않고, 라이브러리를 최신 버전으로 업데이트해야 합니다.
🇺🇸 원문 (English)
Hugging Face Datasets through 5.1.0 contains an insecure deserialization vulnerability that allows attackers to execute arbitrary Python code by crafting a malicious pickle file loaded through the deprecated pandas packaged builder. Attackers can supply a pickle-backed dataset that is processed by Pandas._generate_tables via pandas.read_pickle() without validation, so when a victim calls datasets.load_dataset("pandas", data_files=...), the embedded __reduce__ payload executes code with the victim process's privileges.
📍 영향받는 시스템
Hugging Face Datasets 5.1.0 이하 버전을 사용하는 Python 환경
⚔️ 공격 벡터
공격자가 __reduce__ 페이로드를 포함한 악성 pickle 데이터셋을 제공하고, 피해자가 datasets.load_dataset('pandas', data_files=...)를 호출하면 코드가 실행됨
🛡️ 대응 방법
Hugging Face Datasets를 5.1.0보다 높은 패치 버전으로 업데이트하고, 신뢰할 수 없는 출처의 pandas/pickle 데이터셋 로드를 피하십시오.
🔧 검증 코드
출력된 버전이 5.1.0 이하이면 취약하며, 5.1.0보다 높은 버전이면 해당 CVE의 영향을 받지 않습니다.
pip show datasets 2>/dev/null | grep -i '^version'