🇰🇷 한글 설명
Passport-SAML은 Node.js 인증 라이브러리인 Passport를 위한 SAML 2.0 인증 제공자입니다. 원격 공격자가 임의의 IDP 서명된 XML 요소를 보유하고 있을 경우 SAML 인증을 우회할 수 있는 취약점이 발견되었습니다. 공격 조건에 따라 유효한 사용자 정보 없이도 완전한 인증 우회가 가능할 수 있습니다.
💡 쉬운 설명
로그인 인증 과정에서 사용하는 디지털 서명 검증에 허점이 있어, 공격자가 가짜 인증서를 이용해 로그인을 통과할 수 있는 문제입니다. 이를 통해 권한이 없는 사용자가 시스템에 마음대로 접속할 위험이 있습니다.
🇺🇸 원문 (English)
Passport-SAML is a SAML 2.0 authentication provider for Passport, the Node.js authentication library. A remote attacker may be able to bypass SAML authentication on a website using passport-saml. A successful attack requires that the attacker is in possession of an arbitrary IDP signed XML element. Depending on the IDP used, fully unauthenticated attacks (e.g without access to a valid user) might also be feasible if generation of a signed message can be triggered. Users should upgrade to passport-saml version 3.2.2 or newer. The issue was also present in the beta releases of `node-saml` before version 4.0.0-beta.5. If you cannot upgrade, disabling SAML authentication may be done as a workaround.
📍 영향받는 시스템
passport-saml < 3.2.2, node-saml < 4.0.0-beta.5
⚔️ 공격 벡터
임의의 IDP 서명된 XML 요소를 이용한 SAML 인증 우회 공격
🛡️ 대응 방법
passport-saml 버전을 3.2.2 이상으로 업그레이드하거나, 불가능할 경우 SAML 인증 기능을 비활성화합니다.
🔧 검증 코드
출력된 버전이 3.2.2 미만인지 확인하여 취약 여부를 판단합니다.