🇰🇷 한글 설명
PyMoDAQ 및 관련 패키지(pymodaq_data, pymodaq_gui, pymodaq_utils)의 여러 버전에는 신뢰할 수 없는 데이터를 역직렬화하고 eval을 수행하는 취약점이 있습니다. 조작된 HDF5, .dock, XML 파일을 사용자가 열면 임의의 코드가 실행될 수 있습니다.
💡 쉬운 설명
악의적으로 만든 데이터 파일을 PyMoDAQ에서 열기만 해도 공격자가 컴퓨터에서 원하는 프로그램을 실행할 수 있습니다. 패치된 최신 버전으로 업데이트하고, 출처가 불명확한 파일은 열지 않는 것이 중요합니다.
🇺🇸 원문 (English)
PyMoDAQ before 4.4.13, and pymodaq_data, pymodaq_gui, and pymodaq_utils before 5.1.15, 5.2.x before 5.2.14, and 5.3.x before 5.3.10, contain deserialization of untrusted data and eval injection vulnerabilities that allow attackers to execute arbitrary code by supplying crafted files that a user opens. Attackers can store pickled objects in HDF5 string nodes that StringARRAY.array_to_string() passes to pickle.loads() when the node is browsed or read, place Python expressions in HDF5 attributes that JsonConverter.json2object() evaluates, supply a .dock file that load_layout_state() unpickles from the Dashboard Load layout action, or embed Python expressions in XML settings files that elt_to_dict() and set_txt_from_elt() evaluate.
📍 영향받는 시스템
PyMoDAQ 4.4.13 미만, pymodaq_data/pymodaq_gui/pymodaq_utils 5.1.15 미만, 5.2.x 14 미만, 5.3.x 10 미만
⚔️ 공격 벡터
공격자가 pickle 객체, Python 표현식, 또는 조작된 .dock/XML/HDF5 파일을 만들어 사용자가 열도록 유도
🛡️ 대응 방법
pymodaq 4.4.13 이상, pymodaq_data/gui/utils를 해당 브랜치의 패치 버전(5.1.15, 5.2.14, 5.3.10 이상)으로 업데이트
🔧 검증 코드
출력된 Version 값이 위 패치 버전 기준 이상이면 취약하지 않고, 미만이거나 패키지가 설치되지 않았으면 해당 없음 또는 업데이트가 필요합니다.
pip show pymodaq pymodaq_data pymodaq_gui pymodaq_utils 2>/dev/null | grep -E '^(Name|Version)'