🇰🇷 한글 설명
오픈소스 프로젝트 관리 도구인 Kan의 0.5.4 이하 버전에서 /api/download/attatchment 엔드포인트에 인증 및 URL 검증 기능이 누락되었습니다. 공격자는 사용자 지정 URL을 서버 측 fetch() 함수로 직접 전달하여 내부 서비스나 클라우드 메타데이터 엔드포인트에 접근할 수 있습니다.
💡 쉬운 설명
해커가 서버를 조종하여 내부 네트워크의 비밀 정보를 몰래 가져가게 만드는 취약점입니다. 인증 없이 외부에서 서버가 내부 정보를 조회하도록 명령을 내릴 수 있습니다.
🇺🇸 원문 (English)
Kan is an open-source project management tool. In versions 0.5.4 and below, the /api/download/attatchment endpoint has no authentication and no URL validation. The Attachment Download endpoint accepts a user-supplied URL query parameter and passes it directly to fetch() server-side, and returns the full response body. An unauthenticated attacker can use this to make HTTP requests from the server to internal services, cloud metadata endpoints, or private network resources. This issue has been fixed in version 0.5.5. To workaround this issue, block or restrict access to /api/download/attatchment at the reverse proxy level (nginx, Cloudflare, etc.).
📍 영향받는 시스템
Kan project management tool version 0.5.4 and below
⚔️ 공격 벡터
인증되지 않은 공격자가 조작된 URL 파라미터를 엔드포인트에 전달하여 서버 측 SSRF 공격 수행
🛡️ 대응 방법
Kan을 0.5.5 버전 이상으로 업데이트하거나, 리버스 프록시에서 /api/download/attatchment 경로에 대한 접근을 차단
🔧 검증 코드
해당 엔드포인트에 인증 없이 접근했을 때 200 OK 응답이 오면 취약할 가능성이 높습니다.
curl -s -I http://<target-ip>/api/download/attatchment | grep 'HTTP/1.1 200 OK'