🇰🇷 한글 설명
NL Portal Backend Libraries 3.0.0 이하 버전에서 기본 설정 사용 시 인증 없이 GraphiQL 플레이그라운드와 스키마 인트로스펙션 기능이 노출되는 취약점이 발견되었습니다. 공격자는 이를 통해 API의 전체 구조를 파악하고 다른 취약점을 공격하기 위한 사전 준비를 수행할 수 있습니다.
💡 쉬운 설명
웹사이트의 내부 설계도가 암호 없이 공개되어 누구나 API가 어떻게 작동하는지 들여다볼 수 있는 상태입니다. 이 설계도를 통해 공격자는 시스템의 약점을 훨씬 쉽게 찾아내고 공격할 수 있습니다.
🇺🇸 원문 (English)
NL Portal Backend Libraries provide backend components for Dutch government portals that interact with residents, customers, suppliers, and partner organizations. In versions up to and including 3.0.0, deployments using the shipped default configuration exposed two GraphQL developer features without requiring authentication: the GraphiQL playground, an interactive UI for issuing GraphQL queries; and schema introspection, which lets a caller download the full description of every query, mutation, type, and argument the API supports. Anyone who could reach the `/graphiql` endpoint could open the playground in a browser, pull the full schema, and use that to map out the API and craft calls against it. By itself this does not leak user data, but it removes the guesswork from attacking the rest of the API and significantly lowers the bar for finding and exploiting other weaknesses. Version 3.0.1 patches the issue. As a workaround, override the two settings in deployed configuration.
📍 영향받는 시스템
NL Portal Backend Libraries 3.0.0 및 그 이하 버전
⚔️ 공격 벡터
인증 없이 /graphiql 엔드포인트에 접속하여 GraphQL 스키마 정보를 탈취
🛡️ 대응 방법
버전 3.0.1로 업데이트하거나 설정 파일에서 GraphiQL 및 스키마 인트로스펙션 기능을 비활성화
🔧 검증 코드
/graphiql 경로에 대한 HTTP 응답 코드가 200 OK이면 취약할 가능성이 높습니다.
curl -s -I http://<target-ip>/graphiql | grep -q '200 OK' && echo 'Vulnerable' || echo 'Not Vulnerable'