
CVE-2026-25197: IDOR을 통한 권한 부여 우회 — Gardyn Home Kit (ICSA-26-055-03)
| 필드 | 값 |
|---|---|
| CVE | CVE-2026-25197 |
| ICSA | ICSA-26-055-03 (업데이트 A) |
| CVSS 3.1 | 9.1 (심각) |
| 벡터 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| CWE | CWE-639 (사용자 제어 키를 통한 인증 우회) |
| 연구자 | Michael Groberman — Gr0m |
| 게시일 | 2026-04-02 (업데이트 A) |
| 필드 | 값 |
|---|---|
| 벤더 | Gardyn |
| 제품 | Gardyn Home Kit 1.0, 2.0, 3.0, 4.0; Gardyn Studio 1.0, 2.0 |
| 구성 요소 | Cloud API |
| 영향을 받는 버전 | Cloud API < 2.12.2026 |
두 개의 REST API 엔드포인트가 사용자별 권한 부여 확인 없이 사용자 데이터를 반환합니다:
/api/users는 전체 사용자 목록을 반환합니다. 인증이 필요하지 않습니다./api/user/{id}는 {id}로 식별된 사용자의 프로필을 반환합니다. 요청자가 해당 사용자의 레코드에 접근할 권한이 있는지 확인하지 않습니다.사용자 식별자는 순차적인 정수이므로 /api/user/{id} 엔드포인트를 통해 134,215개 이상의 모든 사용자 계정과 관련 기기를 열거할 수 있습니다.
/api/users 엔드포인트는 인증되지 않은 요청을 수락하고 전체 사용자 목록을 반환합니다. 이 엔드포인트에서는 인증, 속도 제한 또는 접근 로깅이 수행되지 않습니다.
GET [REDACTED — Cloud API host]/api/users
Authentication: NONE
/api/user/{id} 엔드포인트는 경로 매개변수로 사용자 ID를 받아 해당 사용자의 프로필을 반환합니다. 엔드포인트는 요청자가 요청된 사용자와 연관되어 있는지 확인하는 권한 부여 검사를 수행하지 않습니다. 사용자 ID는 순차적인 정수입니다.
GET [REDACTED — Cloud API host]/api/user/{user_id}
사용자당 노출되는 데이터:
| 필드 | 설명 |
|---|---|
| 이름 | 전체 이름 |
| 이메일 | 이메일 주소 |
| 주소 | 실제 주소 |
| 기기 | 연결된 기기 ID와 일련번호 |
| 설정 | 계정 구성 |
카메라 이미지 URL은 순차적인 사용자 ID, 기기 ID 및 타임스탬프를 포함하는 예측 가능한 패턴을 따릅니다. IDOR을 통해 사용자 및 기기 ID를 획득하면 공격자는 추가 인증 없이 모든 사용자의 카메라 이미지에 접근할 수 있는 유효한 URL을 구성할 수 있습니다. Gardyn 카메라는 정지 이미지만 캡처하며, 오디오 스트림은 기록되거나 노출되지 않습니다.
/api/users (인증 없음, 전체 사용자 목록) 및 /api/user/{id} (순차적 IDOR, 모든 사용자 데이터)| 서비스 | 목적 |
|---|---|
| Azure AD B2C | 사용자별 범위의 클레임을 사용한 토큰 기반 ID |
| UUID/GUID 식별자 | 열거 불가능한 식별자 |
| 권한 부여 미들웨어 |
Gardyn은 Cloud API 버전 2.12.2026 이상으로 업그레이드할 것을 권장합니다. 추가 정보는 https://mygardyn.com/security/ 를 참조하십시오.
기기 소유자를 위한 권장 완화 조치:
벤더를 위한 권장 수정 사항:
| 날짜 | 이벤트 |
|---|---|
| 2025-10-14 | 벤더에게 최초 공개 |
| 2025-12-11 | CERT/CC에 공개 |
| 2026-02-24 | ICSA-26-055-03 게시 (초기) |
| 2026-04-02 | ICSA-26-055-03 업데이트 A -- CVE-2026-25197, CVE-2026-28766, CVE-2026-32646, CVE-2026-28767, CVE-2026-32662 추가 |
Michael Groberman — Gr0m이 CISA에 보고함.
| 요청별 권한 부여 확인 |