CVE-2024-47082
Description
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.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
No vendor mitigations ingested yet for this CVE. The mitigation-content worker queues fetches as references arrive — check back in a few minutes, or see the references list below.
Package impact
| Ecosystem | Package | Vulnerable | Fixed |
|---|---|---|---|
| PyPI | strawberry-graphql | <0.243.0 | 0.243.0 |
| PyPI | strawberry-graphql | <37265b230e511480a9ceace492f9f6a484be1387||<0.243.0 | 37265b230e511480a9ceace492f9f6a484be1387 |
References
- https://github.com/strawberry-graphql/strawberry/security/advisories/GHSA-79gp-q4wv-33fr
- https://nvd.nist.gov/vuln/detail/CVE-2024-47082
- https://github.com/strawberry-graphql/strawberry/commit/37265b230e511480a9ceace492f9f6a484be1387
- https://github.com/pypa/advisory-database/tree/main/vulns/strawberry-graphql/PYSEC-2024-171.yaml
- https://github.com/strawberry-graphql/strawberry
- https://strawberry.rocks/docs/breaking-changes/0.243.0
Verify integrity in audit chain (admin only). AS-IS.