CVE-2026-42794
Full vulnerability record from the local CVENow database.
Description
Improper Neutralization of Input During Web Page Generation (XSS) vulnerability in absinthe-graphql absinthe_plug allows reflected cross-site scripting via the GraphiQL interface. 'Elixir.Absinthe.Plug.GraphiQL':js_escape/1 in lib/absinthe/plug/graphiql.ex escapes single quotes and newlines in the query GET parameter before embedding it in an inline JavaScript string, but does not escape backslashes. An attacker can bypass the escaping by prefixing a quote with a backslash (e.g. \'), breaking out of the string context and executing arbitrary JavaScript in the victim's browser. This issue affects absinthe_plug: from 1.2.0 before 1.5.10.
Severity
LOW
CVSS score
2.3
(v4.0)
Vulnerability status
Analyzed
Source identifier
6b3ad84c-e1a6-4bf7-a703-f496b71e49db
Published
2026-05-08 16:16:12.750000
Last modified
2026-10-26 18:10:00.173000
View original CVE JSON
{
"id": "CVE-2026-42794",
"sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"published": "2026-05-08T16:16:12.750",
"lastModified": "2026-10-26T18:10:00.173",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Improper Neutralization of Input During Web Page Generation (XSS) vulnerability in absinthe-graphql absinthe_plug allows reflected cross-site scripting via the GraphiQL interface.\n\n'Elixir.Absinthe.Plug.GraphiQL':js_escape/1 in lib/absinthe/plug/graphiql.ex escapes single quotes and newlines in the query GET parameter before embedding it in an inline JavaScript string, but does not escape backslashes. An attacker can bypass the escaping by prefixing a quote with a backslash (e.g. \\'), breaking out of the string context and executing arbitrary JavaScript in the victim's browser.\n\nThis issue affects absinthe_plug: from 1.2.0 before 1.5.10."
},
{
"lang": "es",
"value": "Vulnerabilidad de Neutralización Incorrecta de la Entrada Durante la Generación de Páginas Web (XSS) en absinthe-graphql absinthe_plug permite cross-site scripting reflejado a través de la interfaz GraphiQL.\n\n’Elixir.Absinthe.Plug.GraphiQL’:js_escape/1 en lib/absinthe/plug/graphiql.ex escapa comillas simples y saltos de línea en el parámetro GET de la consulta antes de incrustarlo en una cadena JavaScript en línea, pero no escapa barras invertidas. Un atacante puede eludir el escape prefijando una comilla con una barra invertida (ej. \\’), saliendo del contexto de la cadena y ejecutando JavaScript arbitrario en el navegador de la víctima.\n\nEste problema afecta a absinthe_plug: desde 1.2.0."
}
],
"affected": [
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"affectedData": [
{
"vendor": "absinthe-graphql",
"product": "absinthe_plug",
"defaultStatus": "unaffected",
"collectionURL": "https://repo.hex.pm",
"packageName": "absinthe_plug",
"cpes": [
"cpe:2.3:a:absinthe-graphql:absinthe_plug:*:*:*:*:*:*:*:*"
],
"modules": [
"'Elixir.Absinthe.Plug.GraphiQL'"
],
"programFiles": [
"lib/absinthe/plug/graphiql.ex"
],
"programRoutines": [
{
"name": "'Elixir.Absinthe.Plug.GraphiQL':js_escape/1"
}
],
"repo": "https://github.com/absinthe-graphql/absinthe_plug",
"packageURL": "pkg:hex/absinthe_plug",
"versions": [
{
"version": "1.2.0",
"lessThan": "1.5.10",
"versionType": "semver",
"status": "affected"
}
]
},
{
"vendor": "absinthe-graphql",
"product": "absinthe_plug",
"defaultStatus": "unaffected",
"collectionURL": "https://github.com",
"packageName": "absinthe-graphql/absinthe_plug",
"cpes": [
"cpe:2.3:a:absinthe-graphql:absinthe_plug:*:*:*:*:*:*:*:*"
],
"modules": [
"'Elixir.Absinthe.Plug.GraphiQL'"
],
"programFiles": [
"lib/absinthe/plug/graphiql.ex"
],
"programRoutines": [
{
"name": "'Elixir.Absinthe.Plug.GraphiQL':js_escape/1"
}
],
"repo": "https://github.com/absinthe-graphql/absinthe_plug",
"packageURL": "pkg:github/absinthe-graphql/absinthe_plug",
"versions": [
{
"version": "26241817cb4b9be4de3f5972c5fba3d36de3d713",
"lessThan": "23a0d5658d32420086711adf4ce8f05febb09963",
"versionType": "git",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV40": [
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"type": "Secondary",
"cvssData": {
"version": "4.0",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"baseScore": 2.3,
"baseSeverity": "LOW",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"privilegesRequired": "NONE",
"userInteraction": "PASSIVE",
"vulnConfidentialityImpact": "LOW",
"vulnIntegrityImpact": "LOW",
"vulnAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"subAvailabilityImpact": "NONE",
"exploitMaturity": "NOT_DEFINED",
"confidentialityRequirement": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"availabilityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"valueDensity": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED"
}
}
],
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
"baseScore": 6.1,
"baseSeverity": "MEDIUM",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "CHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 2.8,
"impactScore": 2.7
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-05-08T16:07:51.313563Z",
"id": "CVE-2026-42794",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-79"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:a:absinthe-graphql:absinthe.plug:*:*:*:*:*:*:*:*",
"versionStartIncluding": "1.2.0",
"versionEndExcluding": "1.5.10",
"matchCriteriaId": "3EF9F187-A4F5-4D86-A3BF-7774F698CFED"
}
]
}
]
}
],
"references": [
{
"url": "https://cna.erlef.org/cves/CVE-2026-42794.html",
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"tags": [
"Third Party Advisory"
]
},
{
"url": "https://github.com/absinthe-graphql/absinthe_plug/commit/23a0d5658d32420086711adf4ce8f05febb09963",
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"tags": [
"Patch"
]
},
{
"url": "https://github.com/absinthe-graphql/absinthe_plug/issues/275",
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"tags": [
"Issue Tracking"
]
},
{
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-42794",
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"tags": [
"Third Party Advisory"
]
},
{
"url": "https://github.com/absinthe-graphql/absinthe_plug/issues/275",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Issue Tracking"
]
}
]
}