🇰🇷 한글 설명
YMFE YApi 1.9.2 이하 버전에서 JSON Web Token(JWT) 서명 비밀키를 생성할 때 Node.js의 Math.random 함수를 사용하여 보안이 취약합니다. 이로 인해 공격자가 다른 사용자의 JWT 토큰을 재생성하여 권한을 탈취할 수 있습니다.
💡 쉬운 설명
로그인 정보를 확인하는 암호 키를 만들 때 예측하기 쉬운 방식을 사용하여 보안이 뚫린 상태입니다. 해커가 이 규칙을 알아내면 다른 사람의 계정으로 몰래 로그인할 수 있습니다.
🇺🇸 원문 (English)
Weak JSON Web Token (JWT) signing secret generation in YMFE YApi through 1.9.2 allows recreation of other users' JWT tokens. This occurs because Math.random in Node.js is used.
📍 영향받는 시스템
YMFE YApi 1.9.2 및 그 이전 버전
⚔️ 공격 벡터
예측 가능한 난수 생성기를 이용한 JWT 서명 키 추측 및 토큰 위조
🛡️ 대응 방법
Math.random 대신 암호학적으로 안전한 난수 생성기(crypto.randomBytes 등)를 사용하도록 업데이트하거나 패치 적용
🔧 검증 코드
출력된 버전 번호가 1.9.2 이하인지 확인하여 취약 여부를 판단합니다.
npm list yapi 2>/dev/null | grep -E 'yapi@([0-9]{1,2}\.[0-9]\.[0-9])'