🇰🇷 한글 설명
graphql-go 라이브러리 1.3.0 미만 버전에서 발생하는 서비스 거부(DoS) 취약점입니다. 공격자가 특수하게 설계된 쿼리를 전송하면 스택 오버플로 패닉이 발생하여 서버의 데이터 서비스 기능이 중단될 수 있습니다.
💡 쉬운 설명
악의적인 질문을 서버에 던져서 서버를 과부하 상태로 만들어 멈추게 만드는 공격입니다. 이로 인해 일반 사용자들이 서비스를 이용하지 못하게 될 수 있습니다.
🇺🇸 원문 (English)
graphql-go is a GraphQL server with a focus on ease of use. In versions prior to 1.3.0 there exists a DoS vulnerability that is possible due to a bug in the library that would allow an attacker with specifically designed queries to cause stack overflow panics. Any user with access to the GraphQL handler can send these queries and cause stack overflows. This in turn could potentially compromise the ability of the server to serve data to its users. The issue has been patched in version `v1.3.0`. The only known workaround for this issue is to disable the `graphql.MaxDepth` option from your schema which is not recommended.
📍 영향받는 시스템
graphql-go versions prior to 1.3.0
⚔️ 공격 벡터
GraphQL 핸들러에 접근 가능한 사용자가 특수하게 설계된 재귀적 쿼리를 전송
🛡️ 대응 방법
graphql-go 라이브러리를 v1.3.0 이상 버전으로 업데이트
🔧 검증 코드
출력된 결과에서 graphql-go의 버전이 1.3.0 미만인지 확인합니다.
go list -m all | grep graphql-go