🇰🇷 한글 설명
DIRAC 분산 컴퓨팅 프레임워크의 특정 버전에서 SQL 인젝션 취약점이 발견되었습니다. 인증된 사용자가 조작된 데이터셋 이름을 전달하면 SQL 쿼리가 파라미터화 없이 실행되어, 최종적으로 Python eval 함수를 통해 시스템 명령어를 실행할 수 있습니다. 이로 인해 설정 파일, 데이터베이스 비밀번호, 토큰 등이 유출되고 시스템 전체가 장악될 수 있습니다.
💡 쉬운 설명
해커가 특수한 명령어를 입력하면 프로그램이 이를 데이터가 아닌 실행 명령으로 착각하여 컴퓨터를 마음대로 조종할 수 있는 문제입니다. 이를 통해 중요한 비밀번호를 훔치거나 시스템을 완전히 망가뜨릴 수 있습니다.
🇺🇸 원문 (English)
DIRAC is an interware, meaning a software framework for distributed computing. Prior to versions 8.0.79, 9.0.22, and 9.1.10, DataManagementSystem/Service/FileCatalogHandler.py checkDataset forwards an authenticated caller-controlled datasets value to DatasetManager.py __checkDataset, where datasetName is interpolated into an FC_MetaDatasets SQL query without parameterization. The injected query can control the returned MetaQuery value, which is passed to Python eval and permits command execution as the account running the DIRAC services. Successful exploitation can expose dirac.cfg, database passwords, stored proxies, and tokens, fully compromise the DIRAC system, and allow alteration of local log evidence. This issue is fixed in versions 8.0.79, 9.0.22, and 9.1.10.
📍 영향받는 시스템
DIRAC versions prior to 8.0.79, 9.0.22, and 9.1.10
⚔️ 공격 벡터
인증된 사용자가 조작된 데이터셋 값을 통해 SQL 인젝션을 유발하고 Python eval을 통한 원격 코드 실행(RCE) 수행
🛡️ 대응 방법
DIRAC를 최신 패치 버전(8.0.79, 9.0.22, 9.1.10 이상)으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 취약점이 해결된 버전(8.0.79, 9.0.22, 9.1.10 중 하나 이상)인지 확인하십시오.
python3 -c 'import dirac; print(dirac.__version__)' 2>/dev/null || echo 'DIRAC not installed'