🇰🇷 한글 설명
ms-swift 3.3.0의 tests/run.py에서 PyYAML 5.3.1의 unsafe yaml.load()를 사용하여 YAML 역직렬화 취약점이 발생합니다. 공격자가 --run_config 매개변수를 통해 악의적인 YAML 파일을 주입하면 임의의 Python 코드가 실행되어 시스템이 완전히 compromised될 수 있습니다.
💡 쉬운 설명
설정 파일을 읽는 방식이 위험하여 공격자가 악성 코드를 숨겨 실행할 수 있습니다. 컴퓨터 전체를 제어당할 수 있는 심각한 문제입니다.
🇺🇸 원문 (English)
A remote code execution (RCE) vulnerability exists in the ms-swift project version 3.3.0 due to unsafe deserialization in tests/run.py using yaml.load() from the PyYAML library (versions = 5.3.1). If an attacker can control the content of the YAML configuration file passed to the --run_config parameter, arbitrary code can be executed during deserialization. This can lead to full system compromise. The vulnerability is triggered when a malicious YAML file is loaded, allowing the execution of arbitrary Python commands such as os.system(). It is recommended to upgrade PyYAML to version 5.4 or higher, and to use yaml.safe_load() to mitigate the issue.
📍 영향받는 시스템
ms-swift 3.3.0 (PyYAML <= 5.3.1)
⚔️ 공격 벡터
--run_config 매개변수를 통해 악의적인 YAML 파일을 전달하여 역직렬화 시 임의 코드 실행
🛡️ 대응 방법
PyYAML을 5.4 이상으로 업그레이드하고 yaml.load() 대신 yaml.safe_load() 사용
🔧 검증 코드
PyYAML 버전이 5.4 이상이면 안전, 5.3.1 이하면 즉시 업그레이드 필요
python -c "import yaml; print(yaml.__version__)"