🇰🇷 한글 설명
MLAlchemy 라이브러리 0.2.2 이전의 parser.py에서 YAML 파싱 시 안전하지 않은 yaml.load() 함수를 사용하여 발생하는 취약점입니다. 공격자는 YAML 쿼리에 임의의 파이썬 코드를 삽입하여 명령을 실행할 수 있습니다.
💡 쉬운 설명
MLAlchemy 라이브러리가 특수하게 만든 YAML 파일을 안전하지 않은 방식으로 읽어서 그 안의 악의적인 코드가 실행될 수 있습니다. 공격자가 조작된 데이터를 보내면 서버에서 원치 않은 명령이 실행됩니다.
🇺🇸 원문 (English)
An exploitable vulnerability exists in the YAML parsing functionality in the parse_yaml_query method in parser.py in MLAlchemy before 0.2.2. When processing YAML-Based queries for data, a YAML parser can execute arbitrary Python commands resulting in command execution because load is used where safe_load should have been used. An attacker can insert Python into loaded YAML to trigger this vulnerability.
📍 영향받는 시스템
MLAlchemy 버전 0.2.2 미만
⚔️ 공격 벡터
YAML 기반 쿼리 처리 과정에서 악의적으로 조작된 YAML 페이로드를 입력하여 원격 코드 실행
🛡️ 대응 방법
MLAlchemy를 0.2.2 이상으로 업그레이드하거나 yaml.load()를 yaml.safe_load()로 변경
🔧 검증 코드
MLAlchemy의 설치 여부와 버전을 확인하여 0.2.2 미만이면 취약한 상태입니다
pip list | grep -i mlalchemy && python -c "import mlalchemy; print(mlalchemy.__version__)" 2>/dev/null || echo 'Not installed'