🇰🇷 한글 설명
dns-sync 모듈의 resolve API 함수가 shell metacharacters에 대한 입력 검증을 수행하지 않아 공격자가 첫 번째 인수에 악의적인 문자를 삽입하여 임의의 시스템 명령을 실행할 수 있습니다. DNS 조회 기능을 통한 원격 명령 실행(RCE) 취약점입니다.
💡 쉬운 설명
dns-sync는 DNS를 조회하는 Node.js 프로그램인데, 사용자 입력을 제대로 확인하지 않아서 특수문자를 통해 원하는 명령을 실행할 수 있습니다. 매우 위험한 보안 결함입니다.
🇺🇸 원문 (English)
The dns-sync module before 0.1.1 for node.js allows context-dependent attackers to execute arbitrary commands via shell metacharacters in the first argument to the resolve API function.
📍 영향받는 시스템
dns-sync module < 0.1.1 (Node.js 환경)
⚔️ 공격 벡터
resolve() 함수의 호스트명 인수에 shell metacharacters (;, |, &, `, $() 등)를 삽입하여 임의 명령 실행
🛡️ 대응 방법
dns-sync를 0.1.1 이상으로 업그레이드하거나 child_process 사용 중단 후 네이티브 DNS 라이브러리로 변경
🔧 검증 코드
npm list 명령어로 설치된 dns-sync 버전을 확인하여 0.1.1 이상 버전이 설치되었는지 확인합니다.
npm list dns-sync 2>/dev/null | grep dns-sync || echo 'not installed'