Security release of GraphQL fixing a CSRF vulnerability and an access bypass in entity label handling, see:

  1. GraphQL - Moderately critical - Access bypass - SA-CONTRIB-2023-050
  2. GraphQL - Moderately critical - Cross Site Request Forgery - SA-CONTRIB-2023-051

We recommend the following additional security measures:

GraphqL clients should always send the HTTP Content-Type header "application/json" on POST requests (except for file uploads) and the additional custom HTTP header "Apollo-Require-Preflight: true", which forces browser to make a non-simple POST request to prevent CSRF.

The CSRF vulnerability can also be mitigated by setting the SameSite attribute on session cookies to Lax (recommended) or Strict. This might not be suitable for sites that need to share the Drupal session cookie in some way with other sites. Set the following in your site's services.yml file:

parameters:
session.storage.options:
# Session cookies are only used for backend admin accounts, so we restrict
# the cookies to be used only from the backend origin. We don't use "Strict"
# because that also removes cookies whenever an admin navigates from an
# email or chat app, which is inconvenient. See
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
cookie_samesite: Lax

Other changes since 8.x-4.5:

  • fix(Condition): Fix array_pad() call with NULL values
  • feat(dataproducers): Add entity query dataproducers
  • feat(fileupload): Add image dimension validation
VCS Label
8.x-4.6
Core compatibility
Release type
Packaged Git sha1
0666a1f9b2f688cd85f28f92abf01bfcb6a3ead7
Release files
e9142e65b549fa734d563f5214aa691c
Release file SHA-1 hash
10f16d0f37e2ed02ff75fb29e1b23043b413158f
Release file SHA-256 hash
52b1f7d9d217911d88c88dc05cb567d941455bfeec1379588076aaeb6eb797cc
d6b531553eab7dad870b99d6c2ae18b0
Release file SHA-1 hash
629eb1d405ea35460e6f94bd46a20316adf4fbe9
Release file SHA-256 hash
ed492f6d9923bcf6cdd39808d5b65422f85b93853ea416ca330b421e5d3f2c0c