🇰🇷 한글 설명
Strawberry GraphQL 라이브러리 0.243.0 미만 버전에서 multipart 파일 업로드 기능이 기본적으로 활성화되어 있어 CSRF 공격에 취약합니다. 특히 Django 통합 모듈의 경우 Django의 기본 CSRF 보호 메커니즘을 예외 처리하고 있어 보안 위험이 더 높습니다.
💡 쉬운 설명
사용자가 모르는 사이에 공격자가 의도한 파일을 서버에 업로드하게 만드는 공격에 노출될 수 있습니다. 보안 설정이 기본적으로 꺼져 있어 별도의 조치를 하지 않으면 위험할 수 있습니다.
🇺🇸 원문 (English)
Strawberry GraphQL is a library for creating GraphQL APIs. Prior to version 0.243.0, multipart file upload support as defined in the GraphQL multipart request specification was enabled by default in all Strawberry HTTP view integrations. This made all Strawberry HTTP view integrations vulnerable to cross-site request forgery (CSRF) attacks if users did not explicitly enable CSRF preventing security mechanism for their servers. Additionally, the Django HTTP view integration, in particular, had an exemption for Django's built-in CSRF protection (i.e., the `CsrfViewMiddleware` middleware) by default. In affect, all Strawberry integrations were vulnerable to CSRF attacks by default. Version `v0.243.0` is the first `strawberry-graphql` including a patch.
📍 영향받는 시스템
Strawberry GraphQL versions prior to 0.243.0
⚔️ 공격 벡터
CSRF(사이트 간 요청 위조)를 통한 악의적인 multipart 파일 업로드
🛡️ 대응 방법
Strawberry GraphQL 라이브러리를 v0.243.0 이상 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 0.243.0 미만이면 취약한 상태입니다.
pip show strawberry-graphql | grep Version