🔍 CVE-2022-36045

9.0
CVSS Score
CRITICAL
2022-08-31
2026-06-17 04:52
✅ 완료

🇰🇷 한글 설명

NodeBB 포럼 소프트웨어의 utils.generateUUID 함수가 암호학적으로 안전하지 않은 Math.random()을 사용하여 발생하는 취약점입니다. 공격자는 비밀번호 재설정 기능을 반복 호출하여 예측 가능한 리셋 코드를 계산함으로써 타인의 계정을 탈취할 수 있습니다.

💡 쉬운 설명

비밀번호를 재설정할 때 사용하는 무작위 번호가 규칙적이라서 해커가 이를 예측할 수 있는 문제입니다. 이를 통해 다른 사람의 계정에 마음대로 접속하여 계정을 뺏을 수 있습니다.

🇺🇸 원문 (English)

NodeBB Forum Software is powered by Node.js and supports either Redis, MongoDB, or a PostgreSQL database. It utilizes web sockets for instant interactions and real-time notifications. `utils.generateUUID`, a helper function available in essentially all versions of NodeBB (as far back as v1.0.1 and potentially earlier) used a cryptographically insecure Pseudo-random number generator (`Math.random()`), which meant that a specially crafted script combined with multiple invocations of the password reset functionality could enable an attacker to correctly calculate the reset code for an account they do not have access to. This vulnerability impacts all installations of NodeBB. The vulnerability allows for an attacker to take over any account without the involvement of the victim, and as such, the remediation should be applied immediately (either via NodeBB upgrade or cherry-pick of the specific changeset. The vulnerability has been patched in version 2.x and 1.19.x. There is no known workaround, but the patch sets listed above will fully patch the vulnerability.

📍 영향받는 시스템

NodeBB v1.0.1 및 그 이전 버전 (v1.19.x 미만 버전 포함)

⚔️ 공격 벡터

비밀번호 재설정 기능을 반복 호출하여 예측 가능한 UUID 기반 리셋 코드를 계산 및 탈취

🛡️ 대응 방법

NodeBB를 v2.x 또는 v1.19.x 이상의 패치된 버전으로 즉시 업그레이드

🔧 검증 코드

설치된 NodeBB의 버전을 확인하여 패치된 버전(v1.19.x 이상 또는 v2.x 이상)인지 대조합니다.

Shell / Script
node -e 'console.log(process.version)' # 실제 NodeBB 버전 확인은 설치된 패키지 관리자나 소스 코드를 통해 확인 필요

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js