🇰🇷 한글 설명
Node.js의 tomato 모듈 0.0.6 이전 버전에서 admin API의 access key 검증이 부족하여, 설정된 access key와 부분적으로 일치하는 문자열을 헤더에 포함시키면 인증을 우회할 수 있습니다. 이를 통해 원격 공격자가 권한 없이 관리 API에 접근 가능합니다.
💡 쉬운 설명
Tomato 모듈이 관리자 암호를 제대로 확인하지 않아서, 비슷한 글자만 입력해도 접근이 됩니다. 누구든 관리자 권한으로 서버를 제어할 수 있게 됩니다.
🇺🇸 원문 (English)
The admin API in the tomato module before 0.0.6 for Node.js does not properly check the access key when it is set to a string, which allows remote attackers to bypass authentication via a string in the access-key header that partially matches config.master.api.access_key.
📍 영향받는 시스템
Node.js tomato module < 0.0.6
⚔️ 공격 벡터
access-key 헤더에 부분 매칭 문자열을 전송하여 인증 우회
🛡️ 대응 방법
tomato 모듈을 0.0.6 이상으로 업데이트
🔧 검증 코드
0.0.6 이상의 버전이 표시되면 안전하고, 그 이하이거나 미설치 상태면 취약합니다.
npm list tomato 2>/dev/null | grep -E '^[[:space:]]*tomato@' | awk '{print $2}'