🇰🇷 한글 설명
EspoCRM 9.3.7 미만 버전에서 포털 사용자가 특정 노트 식별자를 알 경우 내부 스트림 노트를 직접 조회할 수 있는 취약점이 존재합니다. 목록 조회 시에는 내부 노트가 숨겨지지만, API를 통한 개별 노트 직접 접근 시에는 권한 검증이 누락되어 에이전트의 내부 콘텐츠가 노출될 수 있습니다.
💡 쉬운 설명
고객용 페이지를 사용하는 사용자가 주소를 직접 입력하면 관리자만 봐야 하는 비밀 메모를 몰래 읽을 수 있는 문제입니다. 목록에서는 보이지 않지만 개별 메모에 직접 접근하는 것을 막지 못해 발생합니다.
🇺🇸 원문 (English)
EspoCRM is an open source customer relationship management application. Prior to 9.3.7, a portal user with stream access to a parent record can directly fetch a Note through the portal Note API and read an internal stream note when the note identifier is known. Stream list responses correctly hide notes whose isInternal field is true, but the direct single-Note access check does not enforce that restriction, exposing internal agent content. This issue is fixed in version 9.3.7.
📍 영향받는 시스템
EspoCRM 9.3.7 미만 모든 버전
⚔️ 공격 벡터
포털 Note API를 사용하여 특정 노트 식별자(ID)를 직접 호출하는 방식
🛡️ 대응 방법
EspoCRM을 최신 보안 패치가 적용된 9.3.7 버전 이상으로 업데이트하십시오.
🔧 검증 코드
명령어 실행 결과 내부용(isInternal: true) 노트의 내용이 정상적으로 출력된다면 취약한 상태입니다.
curl -s http://<target_ip>/api/v1/Note/<note_id> | grep -i 'isInternal' | grep 'true'