🔍 CVE-2021-27884

5.1
CVSS Score
MEDIUM
2021-03-01
2026-06-17 03:45
✅ 완료

🇰🇷 한글 설명

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 이하인지 확인하여 취약 여부를 판단합니다.

Shell / Script
npm list yapi 2>/dev/null | grep -E 'yapi@([0-9]{1,2}\.[0-9]\.[0-9])'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

💻 영향받는 소프트웨어

Node.js