Update dependency @apollo/server to v5.4.0 [SECURITY]#137
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Update dependency @apollo/server to v5.4.0 [SECURITY]#137renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
5.0.0→5.4.0GitHub Vulnerability Alerts
CVE-2026-23897
Impact
The default configuration of
startStandaloneServerfrom@apollo/server/standaloneis vulnerable to Denial of Service (DoS) attacks through specially crafted request bodies with exotic character set encodings.This issue does not affect users that use
@apollo/serveras a dependency for integration packages, like@as integrations/express5or@as-integrations/next, only direct usage ofstartStandaloneServer.Who is impacted
Users directly using
startStandaloneServerfrom@apollo/server/standalone.This issue affects Apollo Server from v5.0.0 through v5.3.x.
It also affects all releases of the end-of-life major versions v4, v3, and v2. Although Apollo Server v4 is EOL and Apollo no longer commits to providing support or updates for it, a fix for it was released in v4.13.0. Apollo Server v3 and v2 are no longer updated, as they have been EOL since 2024 and 2023 respectively.
Patches
Patches for this issue are released as
@apollo/serverversions5.4.0and4.13.0.In accordance with RFC 7159, these versions now only accept request bodies encoded in UTF-8, UTF-16 (LE or BE), or UTF-32 (LE or BE). Any other character set will be rejected with a
415 Unsupported Media Typeerror. Note that the more recent JSON RFC, [RFC 8259 (https://datatracker.ietf.org/doc/html/rfc8259#section-8.1), is more strict and will only allow UTF-8. Since this is a minor release, we have chosen to remain compatible with the more permissive RFC 7159 for now. In a future major release, the restriction may be tightened further to only allow UTF-8.Workarounds
Users of
apollo-serverv2 or v3 that cannot upgrade for some reason could switch from the standaloneapollo-serverpackage to an integration package like
apollo-server-expressorapollo-server-koaand set up their own server. Please note that these old packages are generally EOL and do not receive any more support or bug fixes. This can only be seen as a short-term workaround. Updating to@apollo/serverv5 should be a priority.Release Notes
apollographql/apollo-server (@apollo/server)
v5.4.0Compare Source
Minor Changes
d25a5bdThanks @phryneas! -@apollo/server/standalone:The default configuration of
startStandaloneServerwas vulnerable to denial of service (DoS) attacks through specially crafted request bodies with exotic character set encodings.In accordance with RFC 7159, we now only accept request bodies encoded in UTF-8, UTF-16 (LE or BE), or UTF-32 (LE or BE).
Any other character set will be rejected with a
415 Unsupported Media Typeerror.Note that the more recent JSON RFC, RFC 8259, is more strict and will only allow UTF-8.
Since this is a minor release, we have chosen to remain compatible with the more permissive RFC 7159 for now.
In a future major release, we may tighten this restriction further to only allow UTF-8.
If you were not using
startStandaloneServer, you were not affected by this vulnerability.Generally, please note that we provide
startStandaloneServeras a convenience tool for quickly getting started with Apollo Server.For production deployments, we recommend using Apollo Server with a more fully-featured web server framework such as Express, Koa, or Fastify, where you have more control over security-related configuration options.
v5.3.0Compare Source
Minor Changes
#8062
8e54e58Thanks @cristunaranjo! - Allow configuration of graphql execution options (maxCoercionErrors)#8014
26320bcThanks @mo4islona! - Exposegraphqlvalidation options.v5.2.0Compare Source
Minor Changes
#8161
51acbebThanks @jerelmiller! - Fix an issue where some bundlers would fail to build because of the dynamic import for the optional peer dependency on@yaacovcr/transformintroduced in@apollo/server5.1.0. To provide support for the legacy incremental format, you must now provide thelegacyExperimentalExecuteIncrementallyoption to theApolloServerconstructor.If the
legacyExperimentalExecuteIncrementallyoption is not provided and the client sends anAcceptheader with a value ofmultipart/mixed; deferSpec=20220824, an error is returned by the server.v5.1.0Compare Source
Minor Changes
#8148
80a1a1aThanks @jerelmiller! - Apollo Server now supports the incremental delivery protocol (@deferand@stream) that ships withgraphql@17.0.0-alpha.9. To use the current protocol, clients must send theAcceptheader with a value ofmultipart/mixed; incrementalSpec=v0.2.Upgrading to 5.1 will depend on what version of
graphqlyou have installed and whether you already support the incremental delivery protocol.Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.