Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Ash application using AshPaperTrail
-
DeliveryObtain read access to version resource
-
ExploitQuery default read action via API
-
ExecutionExtract plaintext sensitive values from changes map
-
ImpactRecover credentials or PII
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V14 - Data Protection Encrypted storage of sensitive data
|
| Exploitation Conditions | The target application must define one or more Ash resource attributes marked |
| Impact | The provided CVSS 4.0 vector (AV:L/AC:L/AT:P/PR:N/UI:N, score 5.9) designates a local attack vector with a specific attack requirement (AT:P), meaning exploitation depends on the application actually defining |
| Exploit ScenarioDerived | An attacker with authorized read access to an Ash application's version resource - such as a low-privileged internal user, a compromised API client, or any actor permitted by the resource's default read action - queries the version resource over the application's HTTP API. The |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAI
Cleartext storage of sensitive Ash resource attributes in AshPaperTrail versions 0.1.1 through 0.6.x allows any actor with read access to the generated version resource to recover plaintext values of fields marked sensitive? true. The library's CreateVersionResource transformer incorrectly derives the sensitivity flag for the changes map from the ignore_attributes exclusion list rather than from the actual tracked attributes, causing the map to always be declared sensitive? false and public? true, which bypasses Ash's built-in redaction and exposes sensitive values in API responses, logs, and inspect output. No public exploit is identified and no active exploitation is confirmed; a vendor patch was released in version 0.7.0.
RemediationAI
Upgrade ash_paper_trail to version 0.7.0 or later, which contains the fix committed at https://github.com/ash-project/ash_paper_trail/commit/90efdb0769f83f7c5daba6a87758daebf4baf32c. The patch corrects the sensitivity filter in CreateVersionResource to reject attributes in both ignore_attributes and attributes_as_attributes, ensuring the changes map correctly inherits sensitivity from tracked attributes. Until patching is possible, a compensating control is to explicitly add all sensitive attributes to the ignore_attributes list in the AshPaperTrail resource configuration, which prevents those attributes from appearing in the changes map entirely - at the cost of losing audit trail coverage for those fields, which may be unacceptable in compliance-driven deployments. Additionally, restricting the version resource's default read action to authorized high-trust roles via Ash policies reduces the set of principals who can access the exposed plaintext. Consult the vendor advisory at https://github.com/ash-project/ash_paper_trail/security/advisories/GHSA-wqjr-xmxp-j554 for full remediation guidance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
AshPaperTrail is an Elixir library (CPE: cpe:2.3:a:ash-project:ash_paper_trail) that provides audit-trail functionality for the Ash resource framework by auto-generating a version resource that persists a changes map recording attribute changes across time. Ash attributes may be marked sensitive? true, which normally causes the framework to redact their values from logs, API output, and error messages. The vulnerability (CWE-312: Cleartext Storage of Sensitive Information) is located in AshPaperTrail.Resource.Transformers.CreateVersionResource: rather than propagating the sensitive? flag from the original tracked attributes into the generated changes map field, the transformer filters attributes based on ignore_attributes - the list of attributes excluded from tracking - which defaults to empty. As confirmed by the commit diff, the pre-patch code used Enum.filter(&(&1.name in ignore_attributes)) to determine sensitivity, meaning the generated map always received sensitive? false and public? true declarations. The fix replaces this with Enum.reject(&(&1.name in ignore_attributes or &1.name in attributes_as_attributes)), correctly excluding sensitive tracked attributes from the insensitive changes map.
Know when Ash Paper Trail gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-accessible via Ash API in typical deployments; PR:L because read access to the version resource is required; confidentiality-only impact with no integrity or availability consequence.
Primary rating from Vendor (EEF).
CVSS VectorVendor: EEF
DescriptionCVE.org
Cleartext Storage of Sensitive Information vulnerability in ash-project ash_paper_trail allows an attacker with read access to the generated version resource to recover the plaintext of sensitive? attributes.
AshPaperTrail stores the values of tracked sensitive? attributes in the generated version resource's changes map, which is declared public? true and sensitive? false, so the values are returned by the version resource's default read action and printed in logs, inspect output, and error messages instead of being redacted. AshPaperTrail.Resource.Transformers.CreateVersionResource derives the changes map's sensitivity from the ignore_attributes list (the attributes excluded from changes) rather than from the tracked attributes actually stored in it, and ignore_attributes defaults to empty, so the flag is effectively always false.
This issue affects ash_paper_trail: from 0.1.1 before 0.7.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Ash Paper Trail
View allCleartext exposure of nested sensitive fields in Ash Paper Trail audit logs (versions 0.3.0-0.6.x) allows any principal
Cubic-complexity denial of service in ash_paper_trail's full-diff list change builder allows any user permitted to invok
EUVD-2026-68142
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB