CVE-2026-42794absinthe-graphql 的 absinthe_plug 组件 GraphiQL 接口存在反射型跨站脚本(XSS)漏洞。该漏洞源于 js_escape/1 函数未正确转义反斜杠,允许攻击者通过构造特定 Payload 绕过单引号转义机制,从而在受害者浏览器中执行任意 JavaScript 代码,导致会话劫持或数据窃取。
漏洞位于 lib/absinthe/plug/graphiql.ex 文件中的 'Elixir.Absinthe.Plug.GraphiQL':js_escape/1 函数。该函数在将 GET 参数嵌入内联 JavaScript 字符串时,虽然转义了单引号和换行符,但忽略了反斜杠的转义。攻击者可以在 payload 前添加反斜杠(如 \'),当浏览器解析时,反斜杠会抵消原本转义单引号的反斜杠,导致单引号逃逸出字符串上下文。随后,攻击者可以注入任意的 JavaScript 代码,利用反射型 XSS 特性诱导受害者点击链接,从而执行恶意操作。