CVE-2021-41249
GraphQL Playground is a GraphQL IDE for development of graphQL focused applications. All versions of graphql-playground-react older than graphql-playground-react@1.7.28 are vulnerable to compromised HTTP schema introspection responses or schema prop values with malicious GraphQL type names, exposing a dynamic XSS attack surface that can allow code injection on operation autocomplete. In order for the attack to take place, the user must load a malicious schema in graphql-playground.
Leer descripción completaMostrar menos
There are several ways this can occur, including by specifying the URL to a malicious schema in the endpoint query parameter. If a user clicks on a link to a GraphQL Playground installation that specifies a malicious server, arbitrary JavaScript can run in the user's browser, which can be used to exfiltrate user credentials or other harmful goals. If you are using graphql-playground-react directly in your client app, upgrade to version 1.7.28 or later.
CVSS
- Versión: 3.1
- Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
- Puntuación base: 4.7
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 1.22%
- Percentil entre todas las CVEs puntuadas: 68
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
CWE
- CWE-79
- CWE-79
Referencias
- https://github.com/graphql/graphiql/security/advisories/GHSA-x4r7-m2q9-69c8
- https://github.com/graphql/graphql-playground/commit/b8a956006835992f12c46b90384a79ab82bcadad
- https://github.com/graphql/graphql-playground/security/advisories/GHSA-59r9-6jp6-jcm7
- https://github.com/graphql/graphiql/security/advisories/GHSA-x4r7-m2q9-69c8
- https://github.com/graphql/graphql-playground/commit/b8a956006835992f12c46b90384a79ab82bcadad
- https://github.com/graphql/graphql-playground/security/advisories/GHSA-59r9-6jp6-jcm7
JSON original (NVD)
Mostrar
{
"id": "CVE-2021-41249",
"cveTags": [],
"metrics": {
"cvssMetricV2": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"version": "2.0",
"baseScore": 2.6,
"accessVector": "NETWORK",
"vectorString": "AV:N/AC:H/Au:N/C:N/I:P/A:N",
"authentication": "NONE",
"integrityImpact": "PARTIAL",
"accessComplexity": "HIGH",
"availabilityImpact": "NONE",
"confidentialityImpact": "NONE"
},
"acInsufInfo": false,
"impactScore": 2.9,
"baseSeverity": "LOW",
"obtainAllPrivilege": false,
"exploitabilityScore": 4.9,
"obtainUserPrivilege": false,
"obtainOtherPrivilege": false,
"userInteractionRequired": true
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 7.1,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L",
"integrityImpact": "HIGH",
"userInteraction": "REQUIRED",
"attackComplexity": "HIGH",
"availabilityImpact": "LOW",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.5,
"exploitabilityScore": 1.6
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 4.7,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "REQUIRED",
"attackComplexity": "HIGH",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 2.7,
"exploitabilityScore": 1.6
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "graphql",
"product": "graphql-playground",
"versions": [
{
"status": "affected",
"version": "< 1.7.28"
}
]
}
]
}
],
"published": "2021-11-04T20:15:08.597",
"references": [
{
"url": "https://github.com/graphql/graphiql/security/advisories/GHSA-x4r7-m2q9-69c8",
"tags": [
"Not Applicable",
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/graphql/graphql-playground/commit/b8a956006835992f12c46b90384a79ab82bcadad",
"tags": [
"Patch",
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/graphql/graphql-playground/security/advisories/GHSA-59r9-6jp6-jcm7",
"tags": [
"Third Party Advisory"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/graphql/graphiql/security/advisories/GHSA-x4r7-m2q9-69c8",
"tags": [
"Not Applicable",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/graphql/graphql-playground/commit/b8a956006835992f12c46b90384a79ab82bcadad",
"tags": [
"Patch",
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
},
{
"url": "https://github.com/graphql/graphql-playground/security/advisories/GHSA-59r9-6jp6-jcm7",
"tags": [
"Third Party Advisory"
],
"source": "af854a3a-2127-422b-91ae-364da2661108"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-79"
}
]
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"description": [
{
"lang": "en",
"value": "CWE-79"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "GraphQL Playground is a GraphQL IDE for development of graphQL focused applications. All versions of graphql-playground-react older than graphql-playground-react@1.7.28 are vulnerable to compromised HTTP schema introspection responses or schema prop values with malicious GraphQL type names, exposing a dynamic XSS attack surface that can allow code injection on operation autocomplete. In order for the attack to take place, the user must load a malicious schema in graphql-playground. There are several ways this can occur, including by specifying the URL to a malicious schema in the endpoint query parameter. If a user clicks on a link to a GraphQL Playground installation that specifies a malicious server, arbitrary JavaScript can run in the user's browser, which can be used to exfiltrate user credentials or other harmful goals. If you are using graphql-playground-react directly in your client app, upgrade to version 1.7.28 or later."
},
{
"lang": "es",
"value": "GraphQL Playground es un IDE de GraphQL para el desarrollo de aplicaciones centradas en graphQL. Todas las versiones de graphql-playground-react anteriores a graphql-playground-react@1.7.28 son vulnerables a las respuestas de introspección de esquema HTTP comprometidas o a los valores de prop de esquema con nombres de tipo GraphQL maliciosos, exponiendo una superficie de ataque de tipo XSS dinámica que puede permitir una inyección de código en la autocompletación de operaciones. Para que el ataque tenga lugar, el usuario debe cargar un esquema malicioso en graphql-playground. Se presentan varias maneras de que esto ocurra, incluyendo la especificación de la URL a un esquema malicioso en el parámetro de consulta del endpoint. Si un usuario hace clic en un enlace a una instalación de GraphQL Playground que especifica un servidor malicioso, puede ejecutarse un JavaScript arbitrario en el navegador del usuario, que puede ser usado para exfiltrar credenciales de usuario u otros objetivos dañinos. Si es usado graphql-playground-react directamente en su aplicación cliente, actualice a la versión 1.7.28 o posterior"
}
],
"lastModified": "2026-06-17T04:08:10.460",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:graphql:playground:*:*:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "E60D77FB-4679-4E82-9F0D-5AEAED170A28",
"versionEndExcluding": "1.7.28"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}