Description
### Impact
Any 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`.
### Patches
This was patched in https://github.com/mercurius-js/mercurius/pull/940.
The patch was released as v11.5.0 and v8.13.2.
### Workarounds
Disable subscriptions.
### References
Reported publicly as https://github.com/mercurius-js/mercurius/issues/939.
The same problem was solved in https://github.com/fastify/fastify-websocket/pull/228
Affected Software
Related
{"id": "GHSA-CM8H-Q92V-XCFC", "vendorId": null, "type": "github", "bulletinFamily": "software", "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", "published": "2023-01-09T21:55:44", "modified": "2023-02-03T05:01:34", "epss": [{"cve": "CVE-2023-22477", "epss": 0.00049, "percentile": 0.15555, "modified": "2023-05-31"}], "cvss": {"score": 5.0, "vector": "AV:N/AC:L/Au:N/C:N/I:N/A:P"}, "cvss2": {"cvssV2": {"version": "2.0", "vectorString": "AV:N/AC:L/Au:N/C:N/I:N/A:P", "accessVector": "NETWORK", "accessComplexity": "LOW", "authentication": "NONE", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "PARTIAL", "baseScore": 5.0}, "severity": "MEDIUM", "exploitabilityScore": 10.0, "impactScore": 2.9, "acInsufInfo": false, "obtainAllPrivilege": false, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": false}, "cvss3": {"cvssV3": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH", "baseScore": 7.5, "baseSeverity": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}, "href": "https://github.com/advisories/GHSA-cm8h-q92v-xcfc", "reporter": "GitHub Advisory Database", "references": ["https://github.com/mercurius-js/mercurius/security/advisories/GHSA-cm8h-q92v-xcfc", "https://nvd.nist.gov/vuln/detail/CVE-2023-22477", "https://github.com/mercurius-js/mercurius/issues/939", "https://github.com/fastify/fastify-websocket/pull/228", "https://github.com/mercurius-js/mercurius/pull/940", "https://github.com/advisories/GHSA-cm8h-q92v-xcfc"], "cvelist": ["CVE-2023-22477"], "immutableFields": [], "lastseen": "2023-05-31T20:12:29", "viewCount": 16, "enchantments": {"dependencies": {"references": [{"type": "cve", "idList": ["CVE-2023-22477"]}, {"type": "osv", "idList": ["OSV:GHSA-CM8H-Q92V-XCFC"]}, {"type": "veracode", "idList": ["VERACODE:38899"]}]}, "score": {"value": 7.1, "vector": "NONE"}, "affected_software": {"major_version": [{"name": "mercurius", "version": 8}, {"name": "mercurius", "version": 9}, {"name": "mercurius", "version": 11}]}, "epss": [{"cve": "CVE-2023-22477", "epss": 0.00049, "percentile": 0.15513, "modified": "2023-05-02"}], "vulnersScore": 7.1}, "_state": {"dependencies": 1685574591, "score": 1685564048, "affected_software_major_version": 0, "epss": 0}, "_internal": {"score_hash": "967dca7dbf18ef0d945c277d076357f9"}, "affectedSoftware": [{"version": "8.13.2", "operator": "lt", "ecosystem": "NPM", "name": "mercurius"}, {"version": "9.0.0", "operator": "ge", "ecosystem": "NPM", "name": "mercurius"}, {"version": "11.5.0", "operator": "lt", "ecosystem": "NPM", "name": "mercurius"}]}
{"osv": [{"lastseen": "2023-01-10T16:36:57", "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", "cvss3": {}, "published": "2023-01-09T21:55:44", "type": "osv", "title": "mercurius has Uncaught Exception when using subscriptions", "bulletinFamily": "software", "cvss2": {}, "cvelist": ["CVE-2023-22477"], "modified": "2023-01-10T16:15:07", "id": "OSV:GHSA-CM8H-Q92V-XCFC", "href": "https://osv.dev/vulnerability/GHSA-cm8h-q92v-xcfc", "cvss": {"score": 0.0, "vector": "NONE"}}], "veracode": [{"lastseen": "2023-05-31T19:47:35", "description": "mercurius is vulnerable to Denial of Service (DoS) attacks. A malicious user is able to cause an application crash via sending a malformed packet over `WebSocket` to `/graphql` resulting in Denial of Service.\n", "cvss3": {"exploitabilityScore": 3.9, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "NONE", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "NONE", "privilegesRequired": "NONE", "baseScore": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 3.6}, "published": "2023-01-18T00:53:06", "type": "veracode", "title": "Denial Of Service (DoS)", "bulletinFamily": "software", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 10.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "NONE", "availabilityImpact": "PARTIAL", "integrityImpact": "NONE", "baseScore": 5.0, "vectorString": "AV:N/AC:L/Au:N/C:N/I:N/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "impactScore": 2.9, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2023-22477"], "modified": "2023-01-19T23:39:35", "id": "VERACODE:38899", "href": "https://sca.analysiscenter.veracode.com/vulnerability-database/security/1/1/sid-38899/summary", "cvss": {"score": 5.0, "vector": "AV:N/AC:L/Au:N/C:N/I:N/A:P"}}], "cve": [{"lastseen": "2023-05-31T17:41:10", "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.", "cvss3": {"exploitabilityScore": 3.9, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "NONE", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "NONE", "privilegesRequired": "NONE", "baseScore": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 3.6}, "published": "2023-01-09T15:15:00", "type": "cve", "title": "CVE-2023-22477", "cwe": ["NVD-CWE-Other"], "bulletinFamily": "NVD", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 10.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "NONE", "availabilityImpact": "PARTIAL", "integrityImpact": "NONE", "baseScore": 5.0, "vectorString": "AV:N/AC:L/Au:N/C:N/I:N/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "impactScore": 2.9, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2023-22477"], "modified": "2023-01-12T21:35:00", "cpe": [], "id": "CVE-2023-22477", "href": "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2023-22477", "cvss": {"score": 5.0, "vector": "AV:N/AC:L/Au:N/C:N/I:N/A:P"}, "cpe23": []}]}