Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-78693— Incomplete redaction re-attaches the original error path in AshGraphql, leaking internal field names

Quick assessment

Affected
ash-project ash_graphql
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

以下是该漏洞描述的中文翻译: 在 ash-project 的 ash_graphql 中,存在一个“生成包含敏感信息的错误消息”漏洞。 远程客户端能够读取应用程序配置 本应屏蔽(redact)的内部字段名。 具体机制: 在 模块中,每个错误都会传递到已配置的 ,而返回的映射(map)会通过 与处理前的路径合并。 由于 仅在 handler 自身设置了 时才允许覆盖,若某个用于净化(sanitizing)的 handler 返回了一个全新的映射或删除了 键,这一决定会被撤销——因为合并操作会重新注入 。 该被重新注入

CVSS 6.9 · Medium
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-78693

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Incomplete redaction re-attaches the original error path in AshGraphql, leaking internal field names
Source: CVE Program / CVE List V5
Vulnerability Description
Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_graphql allows a remote client to read internal field names that an application configured its error_handler to redact. In AshGraphql.Errors, each error is passed to the configured error_handler and the returned map is merged with the pre-handler path via Map.put_new(handled, :path, path). Because put_new defers to the handler only when the handler itself set :path, a sanitizing handler that returns a fresh map or deletes :path has that decision reverted. The re-injected path comes from build_error_path/5, which falls back to raw internal Ash attribute and argument names when no field_names mapping is configured. A validation failure on a non-exposed or nested field therefore returns internal names in the GraphQL error path, defeating the application's redaction. This issue affects ash_graphql: from 1.9.0 before 1.11.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
通过错误消息导致的信息暴露
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
ash-project ash_graphql 1.9.0 ~ 1.11.0 cpe:2.3:a:ash-project:ash_graphql:*:*:*:*:*:*:*:*
ash-project ash_graphql 6d2d8d995906d68cc245d209a9b3f9853405eb61 ~ 78e90d369f09f44c534816de541e60841066a467 cpe:2.3:a:ash-project:ash_graphql:*:*:*:*:*:*:*:*

II. Public POCs for CVE-2026-78693

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-78693

登录查看更多情报信息。

Other References for CVE-2026-78693 (4)

Same Patch Batch · ash-project · 2026-08-30 · 20 CVEs total

CVE-2026-81636 8.7 HIGH Query-complexity limit bypass via first/last pagination arguments in AshGraphql enables de
CVE-2026-78699 7.2 HIGH rename_tenant returns :ok on a failed rename, enabling cross-tenant access in AshPostgres
CVE-2026-80223 7.1 HIGH Cross-tenant subscription disclosure in AshGraphql authorizes notifications in memory with
CVE-2026-81633 6.9 MEDIUM Unhandled KeyError in AshGraphql relay node resolution crashes queries via an unknown type
CVE-2026-77454 5.9 MEDIUM exists/2 predicate silently dropped on limited relationships with a parent() filter in Ash
CVE-2026-81319 5.9 MEDIUM Unsafe deserialization of decrypted terms enables node DoS in AshCloak
CVE-2026-75847 5.9 MEDIUM Sensitive attribute values stored in a non-sensitive public changes map in AshPaperTrail
CVE-2026-78228 5.9 MEDIUM Unbounded handle_error recursion enables denial of service in AshOban triggers
CVE-2026-78038 5.9 MEDIUM Job argument injection via :args overrides primary_key and tenant in AshOban
CVE-2026-77970 5.9 MEDIUM Sensitive fields nested in embedded values are not redacted in AshPaperTrail versions
CVE-2026-82367 2.3 LOW Re-entrant synchronous publish in AshGraphql subscription batcher delivers one subscriber'
CVE-2026-81643 2.3 LOW Broken access control in AshGraphql subscription batcher applies authorization suppression
CVE-2026-80227 2.1 LOW SQL string_trim removes only spaces, diverging from in-memory trimming in AshSql
CVE-2026-78691 2.1 LOW Unescaped backslash allows LIKE wildcard injection in AshSql string search
CVE-2026-81316 2.1 LOW Same-named aggregates with differing filters are conflated in AshSql
CVE-2026-81318 2.1 LOW Distinct-query aggregate drops the tenant schema prefix, leaking across tenants in AshSql
CVE-2026-81322 2.1 LOW Cloaked plaintext leaks through a non-sensitive action argument in AshCloak
CVE-2026-77846 2.1 LOW JSON path injection via unescaped get_path segments in AshSqlite
CVE-2026-77831 2.1 LOW Algorithmic-complexity denial of service in AshPaperTrail full-diff list tracking

IV. Related Vulnerabilities

V. Comments for CVE-2026-78693

No comments yet


Leave a comment