🔍 CVE-2026-31224

8.8
CVSS Score
HIGH
2026-05-12
2026-10-19 22:10
✅ 완료

🇰🇷 한글 설명

Snorkel 라이브러리 v0.10.0 이하에서 MultitaskClassifier.load() 메서드가 안전하지 않은 역직렬화(CWE-502) 취약점을 가지고 있습니다. torch.load()를 weights_only=True 옵션 없이 사용하여 Pickle 모듈을 통한 임의의 파이썬 객체 역직렬화를 허용합니다. 공격자는 악의적인 모델 파일을 제공하여 피해자가 로드할 때 임의 코드 실행을 유발할 수 있습니다.

💡 쉬운 설명

Snorkel 라이브러리의 모델 로드 기능이 신뢰할 수 없는 파일의 내용을 검증하지 않고 실행합니다. 공격자가 악의적인 코드가 포함된 모델 파일을 만들어 사용자가 로드하도록 유도하면 컴퓨터가 공격자의 명령을 실행하게 됩니다.

🇺🇸 원문 (English)

The snorkel library thru v0.10.0 contains an insecure deserialization vulnerability (CWE-502) in the MultitaskClassifier.load() method of the MultitaskClassifier class. The method loads model weight files using torch.load() without enabling the security-restrictive weights_only=True parameter. This default behavior allows the deserialization of arbitrary Python objects via the Pickle module. A remote attacker can exploit this by providing a maliciously crafted model file, leading to arbitrary code execution on the victim's system when the file is loaded via the vulnerable method.

📍 영향받는 시스템

snorkel library <= v0.10.0

⚔️ 공격 벡터

Remote attacker provides malicious .pt or .pkl model file to be loaded via MultitaskClassifier.load()

🛡️ 대응 방법

Upgrade to snorkel > v0.10.0 or patch torch.load() calls with weights_only=True parameter

🔧 검증 코드

버전이 0.0.x ~ 0.10.x 범위에 있으면 VULNERABLE(취약함), 0.11.0 이상이면 PATCHED(패치됨)

Shell / Script
python3 -c 'import snorkel; print(snorkel.__version__)' 2>/dev/null | grep -E '^0\.(0|[1-9]|10)\.' && echo 'VULNERABLE' || echo 'PATCHED'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Python