🇰🇷 한글 설명
DFIR-IRIS 2.4.28 미만 버전에서 GraphQL 엔드포인트(/graphql)의 권한 검증 미흡으로 인해 발생하는 취약점입니다. 인증된 사용자는 권한 없이 다른 케이스의 IOC(침해지표)를 조회하거나 대량으로 유출할 수 있으며, 임의의 케이스를 생성할 수도 있습니다.
💡 쉬운 설명
로그인한 사용자라면 누구나 다른 사람의 조사 내용을 몰래 훔쳐보거나 마음대로 새로운 조사 기록을 만들 수 있는 보안 구멍이 발견되었습니다. 이 문제는 권한 확인 절차가 제대로 작동하지 않는 특정 통로를 통해 발생합니다.
🇺🇸 원문 (English)
Iris is a web collaborative platform that helps incident responders share technical details during investigations. Prior to version 2.4.28, DFIR-IRIS exposes an optional GraphQL endpoint at `/graphql` that does not enforce the same authorization checks as the REST API. Any authenticated user can abuse it in three ways: unauthorized IOC read across cases (IDOR), bulk IOC disclosure via `case.iocs`. The `case(caseId: …).iocs` resolver returns IOCs linked to an arbitrary case without verifying the caller has access to that case, and unauthorized case creation. All three are reachable by any authenticated user, regardless of role or case ACL. This is fixed in v2.4.28. The GraphQL blueprint, resolvers, and dependencies (`graphene`, `graphene-sqlalchemy`, `graphql-server[flask]`) were removed entirely, since the feature was not in use. As a workaround, block `/graphql` at the reverse proxy (recommended) or comment out the `graphql_blueprint` import and `register_blueprint` call in `source/app/views.py` and restart.
📍 영향받는 시스템
DFIR-IRIS version < 2.4.28
⚔️ 공격 벡터
인증된 사용자가 권한 검증이 누락된 /graphql 엔드포인트를 통해 IDOR 및 데이터 대량 유출 공격 수행
🛡️ 대응 방법
DFIR-IRIS를 v2.4.28 이상으로 업데이트하거나, 리버스 프록시에서 /graphql 경로를 차단하십시오.
🔧 검증 코드
명령어 실행 시 JSON 응답 내에 'schema' 또는 GraphQL 구조 정보가 반환되면 취약한 버전이 실행 중인 것입니다.
curl -s -X POST -H 'Content-Type: application/json' --data '{"query": "{ __schema { queryType { name } } }"}' http://<TARGET_IP>/graphql | grep -q 'schema'
💻 영향받는 소프트웨어
IBM Security Verify Access