CVE-2024-47082
Strawberry GraphQL Cross-Site Request Forgery (CSRF) vulnerability
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
4.6
Strawberry GraphQL Cross-Site Request Forgery (CSRF) vulnerability
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.
- Record
CVE-2024-47082- CVSS 3.1
- 4.6 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L - Weakness
- CWE-352
- Updated
- 2026-11-02
EUVDEUVD-2024-0208
4.6
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.
- Record
EUVD-2024-0208- CVSS 3.1
- 4.6 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-79gp-q4wv-33fr
4.8
Cross-Site Request Forgery (CSRF) in strawberry-graphql
Impact
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 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.
Patches
Version v0.243.0 is the first strawberry-graphql including a patch. Check out our documentation for additional details and upgrade instructions.
References
Credits
- Record
GHSA-79gp-q4wv-33fr- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N - CVSS 3.1
- 4.6 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L - Weakness
- CWE-352
- Updated
- 2026-11-02
NVD
4.6
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.
- Record
CVE-2024-47082- CVSS 3.1
- 4.6 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L - CVSS 3.1
- 8.0 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Weakness
- CWE-352
- Updated
- 2026-11-02
OSV
4.6
Strawberry GraphQL Cross-Site Request Forgery (CSRF) vulnerability
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.
- Record
CVE-2024-47082- CVSS 3.1
- 4.6 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L - Weakness
- CWE-352
- Updated
- 2026-11-02
OSVGHSA-79gp-q4wv-33fr
4.8
Cross-Site Request Forgery (CSRF) in strawberry-graphql
Impact
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 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.
Patches
Version v0.243.0 is the first strawberry-graphql including a patch. Check out our documentation for additional details and upgrade instructions.
References
Credits
- Record
GHSA-79gp-q4wv-33fr- CVSS 4.0
- 4.8 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N - CVSS 3.1
- 4.6 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L - Weakness
- CWE-352
- Updated
- 2026-11-02
OSVPYSEC-2024-171
8.0
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.
- Record
PYSEC-2024-171- CVSS 3.1
- 8.0 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
strawberry-graphqlPyPI |
before 0.243.0 | 0.243.0 |
strawberry-graphqlPyPI |
before 0.243.0, plus listed versions 0.1.00.10.00.100.00.101.00.102.0 Show 45 moreShow less0.102.10.102.20.102.30.103.00.103.0.dev16466818870.103.0.dev16468543140.103.0.dev16468549520.103.0.dev16470137000.103.0.dev16470199190.103.0.dev16472764130.103.10.103.20.103.30.103.3.dev16475561940.103.3.dev16475601430.103.40.103.50.103.60.103.70.103.80.103.90.104.00.104.10.104.20.104.30.104.40.105.00.105.10.106.00.106.10.106.20.106.30.107.00.107.10.108.00.108.10.108.20.108.30.109.00.109.10.11.00.110.00.111.00.111.0.dev16515254590.111.0.dev1651528582 |
0.243.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-47082 is a medium vulnerability (CVSS 4.6) in Strawberry-graphql Strawberry, published September 25, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.24%, the 15th percentile. Fixed in strawberry-graphql 0.243.0.
References
github.com/strawberry-graphql/strawberry/security/advisories/GHSA-79gp-q4wv-33fr
github.com/strawberry-graphql/strawberry/commit/37265b230e511480a9ceace492f9f6a484be1387
strawberry.rocks/docs/breaking-changes/0.243.0
nvd.nist.gov/vuln/detail/CVE-2024-47082
github.com/pypa/advisory-database/tree/main/vulns/strawberry-graphql/PYSEC-2024-171.yaml
github.com/advisories/GHSA-79gp-q4wv-33fr
github.com/CVEProject/cvelistV5/tree/main/cves/2024/47xxx/CVE-2024-47082.json
github.com/strawberry-graphql/strawberry
Left out here: 823 versions. The JSON record has them.