🔍 CVE-2022-36084

9.9
CVSS Score
CRITICAL
2022-09-08
2026-06-17 04:52
✅ 완료

🇰🇷 한글 설명

cruddl 소프트웨어에서 @flexSearchFulltext 지시어를 사용하는 스키마를 생성할 때 임의의 AQL 쿼리를 주입할 수 있는 취약점이 발견되었습니다. 공격자는 이를 통해 ArangoDB에서 악의적인 쿼리를 실행할 수 있으며, 최소 하나 이상의 루트 엔티티 타입에 대한 읽기 권한이 필요합니다.

💡 쉬운 설명

데이터베이스를 관리하는 프로그램의 특정 기능을 악용하여 데이터베이스에 몰래 명령어를 입력하는 보안 구멍이 발견되었습니다. 이 기능을 사용하는 경우 해커가 데이터베이스의 내용을 마음대로 조작하거나 훔쳐갈 위험이 있습니다.

🇺🇸 원문 (English)

cruddl is software for creating a GraphQL API for a database, using the GraphQL SDL to model a schema. If cruddl starting with version 1.1.0 and prior to versions 2.7.0 and 3.0.2 is used to generate a schema that uses `@flexSearchFulltext`, users of that schema may be able to inject arbitrary AQL queries that will be forwarded to and executed by ArangoDB. Schemas that do not use `@flexSearchFulltext` are not affected. The attacker needs to have `READ` permission to at least one root entity type that has `@flexSearchFulltext` enabled. The issue has been fixed in version 3.0.2 and in version 2.7.0 of cruddl. As a workaround, users can temporarily remove `@flexSearchFulltext` from their schemas.

📍 영향받는 시스템

cruddl version 1.1.0 이상 ~ 2.7.0 미만 및 3.0.2 미만 버전 (@flexSearchFulltext 사용 시)

⚔️ 공격 벡터

GraphQL 스키마 내 @flexSearchFulltext 지시어를 통한 AQL 쿼리 주입 공격

🛡️ 대응 방법

cruddl 버전을 3.0.2 또는 2.7.0 이상으로 업데이트하거나, 임시 조치로 스키마에서 @flexSearchFulltext 제거

🔧 검증 코드

출력된 cruddl의 버전을 확인하여 취약한 버전 범위(1.1.0 <= v < 2.7.0 또는 2.7.0 <= v < 3.0.2)에 해당하는지 확인합니다.

Shell / Script
npm list cruddl | grep cruddl

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

Spring for GraphQL