🇰🇷 한글 설명
Formbricks 4.0.1 미만 버전에서 JWT 서명 검증이 누락되는 취약점이 발견되었습니다. 공격자가 사용자의 ID를 알 경우, 서명이나 만료 시간을 검증하지 않는 취약점을 악용하여 임의의 JWT를 생성하고 타인의 계정으로 로그인하거나 비밀번호를 재설정할 수 있습니다.
💡 쉬운 설명
로그인할 때 사용하는 디지털 신분증의 진짜 여부를 확인하지 않는 보안 허점이 있습니다. 이를 통해 해커가 가짜 신분증을 만들어 다른 사람의 계정을 마음대로 조작할 수 있습니다.
🇺🇸 원문 (English)
Formbricks is an open source qualtrics alternative. Prior to version 4.0.1, Formbricks is missing JWT signature verification. This vulnerability stems from a token validation routine that only decodes JWTs (jwt.decode) without verifying their signatures. Both the email verification token login path and the password reset server action use the same validator, which does not check the token’s signature, expiration, issuer, or audience. If an attacker learns the victim’s actual user.id, they can craft an arbitrary JWT with an alg: "none" header and use it to authenticate and reset the victim’s password. This issue has been patched in version 4.0.1.
📍 영향받는 시스템
Formbricks version < 4.0.1
⚔️ 공격 벡터
사용자 ID를 이용해 'alg: none' 헤더를 가진 위조된 JWT를 생성하여 인증 및 비밀번호 재설정 경로에 전송
🛡️ 대응 방법
Formbricks를 최신 버전인 4.0.1 이상으로 즉시 업데이트하십시오.
🔧 검증 코드
명령어 결과에 4.0.1 미만의 버전이 나타나면 취약한 상태이며, 결과가 없거나 4.0.1 이상이면 안전합니다.
npm list -g formbricks | grep -E 'formbricks@([0-3]\.|4\.0\.0)'