🔍 CVE-2026-31230

9.8
CVSS Score
CRITICAL
2026-05-12
2026-10-19 22:10
✅ 완료

🇰🇷 한글 설명

Adversarial Robustness Toolbox (ART) 1.20.1 이하의 Kubeflow 컴포넌트에서 eval() 함수를 사용하여 --clip_values와 --input_shape 인자를 파싱할 때 발생하는 명령어 주입 취약점이다. 공격자가 이 인자들을 조작하면 임의의 Python 코드를 실행할 수 있으며, 파이프라인 설정을 통해 원격 악용이 가능하다.

💡 쉬운 설명

ART 도구가 사용자 입력을 검증하지 않고 직접 실행하는 보안 문제입니다. 공격자가 특수한 명령어를 보내면 시스템에서 자신이 원하는 코드를 실행할 수 있습니다.

🇺🇸 원문 (English)

The Adversarial Robustness Toolbox (ART) thru 1.20.1 contains a command-line argument injection vulnerability in its Kubeflow component (robustness_evaluation_fgsm_pytorch.py). The script uses the unsafe eval() function to parse string values provided via the --clip_values and --input_shape command-line arguments. This allows an attacker to inject arbitrary Python code into these arguments, which will be executed when eval() is called. The vulnerability can be exploited remotely if an attacker can control these arguments (e.g., through pipeline configuration or automated scripts), leading to arbitrary code execution on the system running the ART evaluation.

📍 영향받는 시스템

Adversarial Robustness Toolbox (ART) 버전 1.20.1 이하, robustness_evaluation_fgsm_pytorch.py 컴포넌트

⚔️ 공격 벡터

--clip_values 또는 --input_shape 커맨드라인 인자에 Python 코드를 삽입하여 eval() 실행 시 임의 코드 실행

🛡️ 대응 방법

ART를 1.20.2 이상으로 업그레이드하고, eval() 대신 ast.literal_eval() 또는 argparse 타입 검증을 사용하는 패치 적용

🔧 검증 코드

위 명령어가 'VULNERABLE'을 출력하면 해당 시스템이 취약점에 노출되어 있으며, 'PATCHED'를 출력하면 보안 패치가 적용된 상태입니다.

Shell / Script
pip show art 2>/dev/null | grep Version | awk '{print $2}' | awk -F. '{if($1==1 && $2<=20 && $3<=1) print "VULNERABLE" ; else print "PATCHED"}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python