🇰🇷 한글 설명
Sesame Time 웹 애플리케이션 및 REST v3 API의 세션 관리에서 불충분한 접근 제어 취약점이 발견되었습니다. 시스템이 세션 식별자(USID)를 사용자의 소유 여부와 관계없이 유일한 검증 수단으로 사용하여, 공격자가 유효한 USID를 획득할 경우 피해자의 이메일, 사용자 ID, 역할 및 기업 데이터에 접근할 수 있습니다. 또한 새로운 로그인 시 이전 세션이 만료되지 않아 공격 표면이 더욱 확대됩니다.
💡 쉬운 설명
로그인 정보가 담긴 '출입증'이 진짜 주인인지 확인하지 않고 출입증 번호만 맞으면 통과시켜주는 보안 허점이 있습니다. 이로 인해 다른 사람의 출입증 번호만 알아내면 그 사람인 척하며 중요한 개인 정보와 회사 데이터에 접근할 수 있습니다.
🇺🇸 원문 (English)
A vulnerability relating to insufficient access control has been identified in the session management of the Sesame Time web application and its REST v3 API. The flaw lies in the fact that the system uses the session identifier (USID) as the sole validation mechanism, without verifying whether that identifier legitimately belongs to the user making the request. As a result, an attacker who obtains a valid USID can impersonate a victim’s session and access their confidential information, including emails, user IDs, roles and corporate data. This vulnerability is exacerbated by poor session lifecycle management: new logins generate additional USIDs without revoking the previous ones, allowing multiple active sessions to coexist and thereby expanding the attack surface.
📍 영향받는 시스템
Sesame Time web application and REST v3 API
⚔️ 공격 벡터
유효한 세션 식별자(USID)를 탈취하여 피해자의 세션을 사칭하는 방식
🛡️ 대응 방법
세션 식별자 검증 로직을 강화하고, 새로운 로그인 시 기존 세션을 무효화하도록 세션 생명주기 관리를 개선해야 합니다.
🔧 검증 코드
응답 헤더에서 USID가 포함된 쿠키가 발급되는지 확인하고, 이전 세션이 여전히 유효한지 테스트하여 취약 여부를 판단합니다.
curl -s -I https://<target_api_endpoint>/api/v3/session | grep -i 'Set-Cookie'