🔍 CVE-2021-41580

5.3
CVSS Score
MEDIUM
2021-09-27
2026-06-17 04:08
✅ 완료

🇰🇷 한글 설명

Node.js용 passport-oauth2 패키지 1.6.1 이전 버전에서 액세스 토큰 획득 실패 시 오류 처리가 미흡한 취약점이 발견되었습니다. 일부 OAuth 제공업체가 인증 실패 시에도 HTTP 200 상태 코드를 반환하는 경우, 애플리케이션이 토큰의 유효성을 검증하지 않고 권한을 부여할 수 있습니다.

💡 쉬운 설명

로그인 과정에서 오류가 발생했는데도 시스템이 이를 성공으로 착각하여 로그인을 허용할 수 있는 문제입니다. 공격자가 가짜 인증 응답을 보내면 권한 없이 시스템에 접속할 위험이 있습니다.

🇺🇸 원문 (English)

The passport-oauth2 package before 1.6.1 for Node.js mishandles the error condition of failure to obtain an access token. This is exploitable in certain use cases where an OAuth identity provider uses an HTTP 200 status code for authentication-failure error reports, and an application grants authorization upon simply receiving the access token (i.e., does not try to use the token). NOTE: the passport-oauth2 vendor does not consider this a passport-oauth2 vulnerability

📍 영향받는 시스템

passport-oauth2 < 1.6.1 (Node.js)

⚔️ 공격 벡터

HTTP 200 응답을 사용하는 OAuth 제공업체를 대상으로 한 인증 우회 공격

🛡️ 대응 방법

passport-oauth2 패키지를 1.6.1 버전 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 1.6.1 미만인지 확인하십시오.

Shell / Script
npm list passport-oauth2

📊 CVSS Vector String

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