{"id":"CVE-2023-22477","aliases":["EUVD-2023-0446","GHSA-cm8h-q92v-xcfc"],"status":"published","title":"Mercurius is vulnerable to denial of service (DoS) when using subscriptions","description":"Mercurius is a GraphQL adapter for Fastify. Any users of Mercurius until version 10.5.0 are subjected to a denial of service attack by sending a malformed packet over WebSocket to `/graphql`. This issue was patched in #940. As a workaround, users can disable subscriptions.","severity":{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.01127,"percentile":0.66607,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-248"],"published":"2023-01-09T14:12:24Z","modified":"2026-10-28T02:30:42Z","fixes":[{"ecosystem":"npm","package":"mercurius","fixed_in":["11.5.0","8.13.2"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"mercurius","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"9.0.0"},{"fixed":"11.5.0"}]}]},{"source":"ghsa","ecosystem":"npm","package":"mercurius","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"8.13.2"}]}]},{"source":"osv","ecosystem":"npm","package":"mercurius","ranges":[{"type":"SEMVER","events":[{"introduced":"9.0.0"},{"fixed":"11.5.0"}]}]},{"source":"osv","ecosystem":"npm","package":"mercurius","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"8.13.2"}]}]}],"products":[{"vendor":"mercurius-js","product":"mercurius"},{"vendor":"mercurius_project","product":"mercurius"}],"references":[{"url":"https://github.com/mercurius-js/mercurius/security/advisories/GHSA-cm8h-q92v-xcfc","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","advisory","web"]},{"url":"https://github.com/mercurius-js/mercurius/issues/939","tags":["x_refsource_MISC","x_transferred","Exploit","Issue Tracking","Third Party Advisory","report","web"]},{"url":"https://github.com/mercurius-js/mercurius/pull/940","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-22477","tags":["advisory"]},{"url":"https://github.com/fastify/fastify-websocket/pull/228","tags":["web"]},{"url":"https://github.com/advisories/GHSA-cm8h-q92v-xcfc"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/22xxx/CVE-2023-22477.json","tags":["advisory"]},{"url":"https://github.com/mercurius-js/mercurius","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2023-22477","title":"Mercurius is vulnerable to denial of service (DoS) when using subscriptions","description":"Mercurius is a GraphQL adapter for Fastify. Any users of Mercurius until version 10.5.0 are subjected to a denial of service attack by sending a malformed packet over WebSocket to `/graphql`. This issue was patched in #940. As a workaround, users can disable subscriptions.\n\n","status":"published","published":"2023-01-09T14:12:24.837Z","modified":"2025-03-10T21:31:05.984Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium","assessor":"cna"}],"cwes":["CWE-248"],"updated_at":"2026-11-02T14:35:15.779187Z"}],"euvd":[{"id":"EUVD-2023-0446","description":"Mercurius is a GraphQL adapter for Fastify. Any users of Mercurius until version 10.5.0 are subjected to a denial of service attack by sending a malformed packet over WebSocket to `/graphql`. This issue was patched in #940. As a workaround, users can disable subscriptions.\n\n","status":"published","published":"2023-01-09T14:12:24Z","modified":"2025-03-10T21:31:05Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"updated_at":"2026-11-02T20:53:08.584552Z"}],"ghsa":[{"id":"GHSA-cm8h-q92v-xcfc","title":"mercurius has Uncaught Exception when using subscriptions","description":"### Impact\n\nAny users of Mercurius until version v11.5.0 are subjected to a denial of service attack by sending a malformed packet over WebSocket to `/graphql`.\n\n### Patches\n\nThis was patched in https://github.com/mercurius-js/mercurius/pull/940.\nThe patch was released as v11.5.0 and v8.13.2.\n\n### Workarounds\n\nDisable subscriptions.\n\n### References\n\nReported publicly as https://github.com/mercurius-js/mercurius/issues/939.\nThe same problem was solved in https://github.com/fastify/fastify-websocket/pull/228\n","status":"published","published":"2023-01-09T21:55:44Z","modified":"2023-02-03T05:01:34Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"cwes":["CWE-248"],"updated_at":"2026-11-02T14:36:41.967989Z"}],"nvd":[{"id":"CVE-2023-22477","description":"Mercurius is a GraphQL adapter for Fastify. Any users of Mercurius until version 10.5.0 are subjected to a denial of service attack by sending a malformed packet over WebSocket to `/graphql`. This issue was patched in #940. As a workaround, users can disable subscriptions.\n\n","status":"published","published":"2023-01-09T15:15:11.127Z","modified":"2026-06-17T05:35:32.53Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium","assessor":"secondary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"primary"}],"cwes":["CWE-248"],"updated_at":"2026-11-02T14:07:45.305824Z"}],"osv":[{"id":"CVE-2023-22477","title":"Mercurius is vulnerable to denial of service (DoS) when using subscriptions","description":"Mercurius is a GraphQL adapter for Fastify. Any users of Mercurius until version 10.5.0 are subjected to a denial of service attack by sending a malformed packet over WebSocket to `/graphql`. This issue was patched in #940. As a workaround, users can disable subscriptions.\n\n","status":"published","published":"2023-01-09T14:12:24.837Z","modified":"2026-10-28T02:30:42.674618774Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"cwes":["CWE-248"],"updated_at":"2026-11-02T15:44:30.334753Z"},{"id":"GHSA-cm8h-q92v-xcfc","title":"mercurius has Uncaught Exception when using subscriptions","description":"### Impact\n\nAny users of Mercurius until version v11.5.0 are subjected to a denial of service attack by sending a malformed packet over WebSocket to `/graphql`.\n\n### Patches\n\nThis was patched in https://github.com/mercurius-js/mercurius/pull/940.\nThe patch was released as v11.5.0 and v8.13.2.\n\n### Workarounds\n\nDisable subscriptions.\n\n### References\n\nReported publicly as https://github.com/mercurius-js/mercurius/issues/939.\nThe same problem was solved in https://github.com/fastify/fastify-websocket/pull/228\n","status":"published","published":"2023-01-09T21:55:44Z","modified":"2023-11-08T04:11:36.112865Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","level":"medium"}],"cwes":["CWE-248"],"updated_at":"2026-11-02T15:46:45.28161Z"}]}}
