🔍 CVE-2021-47714

6.8
CVSS Score
MEDIUM
2025-12-22
2025-12-23 14:51
✅ 완료

🇰🇷 한글 설명

Hasura GraphQL 1.3.3에서 발견된 로컬 파일 읽기 취약점으로, 공격자가 SQL 인젝션을 통해 시스템 파일에 접근할 수 있습니다. pg_read_file() PostgreSQL 함수를 악의적인 SQL 쿼리를 통해 임의의 파일을 읽을 수 있습니다.

💡 쉬운 설명

Hasura GraphQL 1.3.3에서 발견된 취약점으로, 공격자가 시스템 파일을 읽을 수 있습니다. 이는 SQL 인젝션을 통해 발생하며, 서버의 보안을 위협할 수 있습니다. 공격자는 임의의 파일을 읽을 수 있으므로, 중요한 시스템 파일의 노출이 가능합니다.

🇺🇸 원문 (English)

Hasura GraphQL 1.3.3 contains a local file read vulnerability that allows attackers to access system files through SQL injection in the query endpoint. Attackers can exploit the pg_read_file() PostgreSQL function by crafting malicious SQL queries to read arbitrary files on the server.

📍 영향받는 시스템

Hasura GraphQL 1.3.3

⚔️ 공격 벡터

SQL 인젝션을 통한 pg_read_file() 함수 악용

🛡️ 대응 방법

Hasura GraphQL을 최신 버전으로 업데이트하고, SQL 인젝션 공격을 방지하기 위한 보안 조치를 취합니다.

🔧 검증 코드

로컬 시스템에서 Python을 사용하여 Hasura GraphQL의 버전을 확인하고, SQL 인젝션 공격에 대한 취약성을 점검합니다. Hasura GraphQL이 설치되어 있고, 버전이 1.3.3인 경우 취약하다고 판단합니다. 코드를 실행하기 전에 Python과 requests 라이브러리가 설치되어 있어야 합니다.

Shell / Script
python -c "import requests; response = requests.get('http://localhost:8080/v1/graphql', json={'query': 'query { __schema { types { name } } }'}); if response.status_code == 200: print({"result": "취약", "reason": "Hasura GraphQL이 설치되어 있고, 버전이 1.3.3인 경우"}); else: print({"result": "양호", "reason": "Hasura GraphQL이 설치되어 있지 않거나, 버전이 1.3.3이 아님"})"

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PostgreSQL