🇰🇷 한글 설명
n8n은 오픈소스 워크플로 자동화 플랫폼입니다. 2.27.4 미만 및 2.28.0 이상 2.28.1 미만 버전에서, 신뢰 issuer가 둘 이상 설정된 경우 외부 신원을 JWT의 sub 클레임만으로 로컬 계정에 매핑하고 iss 클레임을 무시합니다. 이로 인해 한 신뢰 issuer의 유효한 토큰을 가진 공격자가 다른 issuer 아래 피해자와 동일한 sub 값을 이용해 피해자로 인증될 수 있습니다. 2.27.4 및 2.28.1에서 수정되었습니다.
💡 쉬운 설명
여러 인증 제공자를 함께 쓰는 n8n 서버에서, 신원 확인 시 제공자 정보를 보지 않아 생기는 문제입니다. 공격자가 다른 제공자의 정상 로그인 정보를 이용해 다른 사용자의 계정으로 들어갈 수 있습니다.
🇺🇸 원문 (English)
n8n is an open source workflow automation platform. Prior to 2.27.4 and from 2.28.0 prior to 2.28.1, n8n instances configured with more than one trusted token-exchange issuer resolved external identities to local accounts using only the JWT sub claim and ignored the iss claim, allowing an attacker with a valid token from one trusted issuer and a sub matching a victim under another issuer to authenticate as that victim. This issue is fixed in versions 2.27.4 and 2.28.1.
📍 영향받는 시스템
n8n 2.27.4 미만 및 2.28.0 이상 2.28.1 미만 (신뢰 token-exchange issuer 2개 이상 구성 시)
⚔️ 공격 벡터
신뢰된 issuer 중 하나에서 발급받은 유효한 토큰을 이용해, 피해자와 같은 sub 값을 가진 신원으로 위장하여 인증
🛡️ 대응 방법
n8n을 2.27.4 또는 2.28.1 이상으로 업그레이드하고, 필요 시 issuer별 sub 매핑 설정을 점검
🔧 검증 코드
출력된 버전이 2.27.4 이상이거나 2.28.1 이상이면 패치된 것이며, 2.27.4 미만 또는 2.28.0~2.28.0.x 구간이면 취약합니다.
n8n --version 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+'