{"id":"CVE-2026-42794","state":"PUBLISHED","title":"Reflected XSS via backslash bypass in GraphiQL js_escape in absinthe_plug","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.\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.","publishedAt":"2026-05-08T15:42:40.706Z","updatedAt":"2026-05-16T10:21:31.067Z","severity":{"score":2.3,"label":"Low","version":"4.0","vector":"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","source":"EEF"},"assigner":"EEF","products":["absinthe-graphql absinthe_plug"],"affected":[{"vendor":"absinthe-graphql","product":"absinthe_plug","packageName":"absinthe_plug","packageURL":"pkg:hex/absinthe_plug","defaultStatus":"unaffected","versions":[{"version":"1.2.0","status":"affected","lessThan":"1.5.10","versionType":"semver"}],"collectionURL":"https://repo.hex.pm","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"},{"vendor":"absinthe-graphql","product":"absinthe_plug","packageName":"absinthe-graphql/absinthe_plug","packageURL":"pkg:github/absinthe-graphql/absinthe_plug","defaultStatus":"unaffected","versions":[{"version":"26241817cb4b9be4de3f5972c5fba3d36de3d713","status":"affected","lessThan":"23a0d5658d32420086711adf4ce8f05febb09963","versionType":"git"}],"collectionURL":"https://github.com","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"}],"references":["https://github.com/absinthe-graphql/absinthe_plug/issues/275","https://cna.erlef.org/cves/CVE-2026-42794.html","https://osv.dev/vulnerability/EEF-CVE-2026-42794","https://github.com/absinthe-graphql/absinthe_plug/commit/23a0d5658d32420086711adf4ce8f05febb09963"],"weaknesses":["CWE-79"],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/42xxx/CVE-2026-42794.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-42794","state":"PUBLISHED","datePublished":"2026-05-08T15:42:40.706Z","dateUpdated":"2026-05-16T10:21:31.067Z","assignerShortName":"EEF","assignerOrgId":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","dateReserved":"2026-04-29T18:06:33.251Z"},"containers":{"cna":{"title":"Reflected XSS via backslash bypass in GraphiQL js_escape in absinthe_plug","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."}],"affected":[{"vendor":"absinthe-graphql","product":"absinthe_plug","packageName":"absinthe_plug","packageURL":"pkg:hex/absinthe_plug","defaultStatus":"unaffected","versions":[{"version":"1.2.0","status":"affected","lessThan":"1.5.10","versionType":"semver"}],"collectionURL":"https://repo.hex.pm","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"},{"vendor":"absinthe-graphql","product":"absinthe_plug","packageName":"absinthe-graphql/absinthe_plug","packageURL":"pkg:github/absinthe-graphql/absinthe_plug","defaultStatus":"unaffected","versions":[{"version":"26241817cb4b9be4de3f5972c5fba3d36de3d713","status":"affected","lessThan":"23a0d5658d32420086711adf4ce8f05febb09963","versionType":"git"}],"collectionURL":"https://github.com","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"}],"references":[{"url":"https://github.com/absinthe-graphql/absinthe_plug/issues/275","tags":["vendor-advisory"]},{"url":"https://cna.erlef.org/cves/CVE-2026-42794.html","tags":["related"]},{"url":"https://osv.dev/vulnerability/EEF-CVE-2026-42794","tags":["related"]},{"url":"https://github.com/absinthe-graphql/absinthe_plug/commit/23a0d5658d32420086711adf4ce8f05febb09963","tags":["patch"]}],"metrics":[{"cvssV4_0":{"attackComplexity":"LOW","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":2.3,"baseSeverity":"LOW","privilegesRequired":"NONE","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"PASSIVE","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","version":"4.0","vulnAvailabilityImpact":"NONE","vulnConfidentialityImpact":"LOW","vulnIntegrityImpact":"LOW"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","description":"CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"EEF","orgId":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db","dateUpdated":"2026-05-16T10:21:31.067Z"},"configurations":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"The application must mount <tt>Absinthe.Plug.GraphiQL</tt> on a route that is reachable by untrusted users. The GraphiQL interface is a developer tool and is typically disabled or restricted in production deployments."}],"value":"The application must mount Absinthe.Plug.GraphiQL on a route that is reachable by untrusted users. The GraphiQL interface is a developer tool and is typically disabled or restricted in production deployments."}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:a:absinthe-graphql:absinthe_plug:*:*:*:*:*:*:*:*","versionEndExcluding":"1.5.10","versionStartIncluding":"1.2.0","vulnerable":true}],"negate":false,"operator":"OR"}],"operator":"AND"}],"credits":[{"lang":"en","type":"finder","value":"40826d"},{"lang":"en","type":"finder","value":"Bryan A. Enders"},{"lang":"en","type":"remediation developer","value":"Leandro Moreno"},{"lang":"en","type":"remediation reviewer","value":"Ben Wilson"}],"impacts":[{"capecId":"CAPEC-86","descriptions":[{"lang":"en","value":"CAPEC-86 XSS Using HTTP Query Strings"}]}],"source":{"discovery":"EXTERNAL"},"x_generator":{"engine":"cvelib 1.8.0"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/absinthe-graphql/absinthe_plug/issues/275","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-05-08T16:07:51.313563Z","id":"CVE-2026-42794","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-05-08T16:08:26.818Z"}}]}}}