[CVE] CVE-2026-53662
CVE-2026-53662에서 CWE-79 관련 CRITICAL 등급의 취약점이 공개되었으며, 스크립트 실행 가능성이 있어 영향 범위와 패치 여부를 확인해야 합니다.
주의: 이 글은 AI 자동 작성되었습니다. 반드시 재검증해야 합니다. 내용의 오류가 있을 경우 댓글 작성 부탁드립니다.
핵심 요약
CVE-2026-53662는 immich의 /auth/login 페이지에서 발생하는 반사형 XSS 취약점입니다. 공격자는 continue 쿼리 매개변수를 악용해 피해자의 브라우저에서 임의 JavaScript를 실행할 수 있고, 그 결과 로그인된 사용자의 세션을 이용해 계정 탈취까지 이어질 수 있습니다. 제공된 설명에 따르면 이 취약점은 단순한 화면 변조 수준이 아니라, 피해자 계정에 대해 영구적인 접근 권한을 확보하는 방향으로 연결됩니다.
심각도는 CVSS 3.1 기준 9.6점(CRITICAL)이며, 벡터는 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H입니다. 즉, 네트워크를 통해 원격에서 악용 가능하고, 권한이 없는 공격자도 피해자 상호작용만 확보하면 치명적인 결과로 이어질 수 있습니다.
기술 배경
이 취약점의 핵심은 로그인 페이지에서 continue 파라미터를 읽어 SvelteKit의 redirect()로 전달하는 흐름에 있습니다. 문제는 이 값에 대해 scheme 또는 origin 검증이 없었다는 점입니다. 이런 경우 공격자가 조작한 입력이 애플리케이션의 신뢰 경계 안으로 들어오면서, 결과적으로 Immich의 origin 내부에서 스크립트가 실행되는 상황이 만들어집니다.
제공된 설명은 이 취약점을 CWE-79(XSS)와 CWE-601(Open Redirect)와 연관 짓고 있습니다. 실제로는 리다이렉트 처리와 스크립트 실행이 결합되면서, 단순한 리다이렉트 문제가 아니라 반사형 XSS로 이어지는 형태입니다. 이처럼 로그인 경로는 상대적으로 방어가 느슨해지기 쉬워 공격자 입장에서 유리한 진입점이 됩니다.
또한 설명에 따르면 공격은 피해자의 기존 세션을 그대로 활용해 계정에 all-permission API key를 발급하는 단계로 확장됩니다. 즉, 브라우저에서 코드가 실행되는 순간이 끝이 아니라, 이후의 권한 상승·영속화까지 이어지는 것이 이 취약점의 위험한 지점입니다.
공격자 관점에서 볼 부분
공격자 입장에서 이 취약점은 “한 번의 링크 클릭”만으로 성립할 수 있다는 점이 특히 중요합니다. 사용자가 로그인된 상태에서 조작된 URL을 열면, 공격자 스크립트가 피해자 세션 문맥에서 실행될 가능성이 있습니다. 이 경우 별도의 자격 증명 탈취 없이도 계정 기능을 직접 호출할 수 있어 공격 비용이 낮습니다.
또 하나의 포인트는 영속성입니다. 설명에 따르면 공격자는 피해자 계정에 all-permission API key를 생성함으로써, 단발성 세션 탈취를 넘어 지속적인 계정 장악을 시도할 수 있습니다. 이런 유형은 사용자가 나중에 세션을 종료하더라도 공격자가 별도의 API 접근 경로를 유지할 수 있기 때문에 대응이 까다롭습니다.
공격 난이도는 높지 않지만, 성공했을 때의 영향은 매우 큽니다. 특히 인증 흐름의 일부인 /auth/login 경로가 악용되므로, 사용자는 합법적인 로그인 과정으로 오인하기 쉽습니다. 사회공학과 결합될 경우 위험도가 더 커질 수 있습니다.
영향 범위
제공된 데이터에서는 정확한 영향 버전이 별도로 나열되어 있지 않습니다. 다만 설명에는 commit 4ffa26c9부터 4eb1003 이전까지의 구간이 취약하다고 명시되어 있습니다. 구체적으로 어떤 릴리스에 포함되는지는 확인 필요입니다.
영향 대상은 immich를 사용하는 환경 중, 취약한 커밋 범위에 해당하는 인스턴스입니다. 공격이 성공하면 다음과 같은 결과가 가능합니다.
인증된 사용자의 계정 탈취 사용자의 기존 세션 악용 계정에 대한 지속적 접근 수단 확보 사용자 계정 범위의 기밀성, 무결성, 가용성 훼손 가능성
공개된 설명 기준으로는 특정 제품군 확장 영향은 확인되지 않았고, 영향은 immich 자체에 한정됩니다.
대응 및 패치
제공된 설명에 따르면 이 취약점은 4eb1003 커밋에서 수정되었습니다. 따라서 해당 수정이 포함된 버전으로의 반영 여부를 확인하는 것이 필요합니다. 구체적인 배포 버전과 릴리스 노트는 제공된 데이터에 없으므로 확인 필요입니다.
운영자 관점에서는 로그인 경로에 전달되는 외부 입력, 특히 리다이렉트 목적의 파라미터에 대해 scheme 및 origin 검증이 제대로 적용되는지 점검해야 합니다. 또한 사용자 세션 기반 API key 발급이 가능한 구조라면, 탈취 징후가 있는 계정에 대해 키 재발급과 세션 무효화를 검토하는 것이 바람직합니다.
이미 노출 가능성이 있는 인스턴스라면 사용자에게 의심스러운 로그인 링크 클릭을 경고하고, 인증 로그와 API key 발급 이력을 함께 확인하는 편이 안전합니다.
메모
이 취약점은 단순히 “외부로 보내는 리다이렉트”가 아니라, 로그인 페이지와 인증 세션이 결합될 때 얼마나 큰 공격면이 되는지를 보여줍니다. 사용자가 로그인된 상태에서의 한 번의 클릭이 계정 영구 탈취로 이어질 수 있다는 점에서, 공격자의 관점에서는 매우 효율적인 체인입니다.
공개 익스플로잇 신호는 제공 데이터상 확인되지 않았습니다. 다만 공개 여부와 무관하게, 브라우저 기반 세션 탈취형 XSS는 실제 환경에서 재현과 악용 모두가 비교적 쉬운 편에 속하므로 운영 측의 신속한 대응이 중요합니다.
댓글