CVE-2026-77831 json
Algorithmic-complexity denial of service in AshPaperTrail full-diff list tracking
published 2026-08-30 2 mo ago modified 2026-09-08 2 mo ago also EEF-CVE-2026-77831 , GHSA-7c66-59m8-723c , EUVD-2026-68144
- cvss
- 2.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 7%
- public exploits
- 0
- none known
Summary
Inefficient Algorithmic Complexity vulnerability in ash-project ash_paper_trail allows a user who can submit a large array attribute to a paper-trailed create or update action to cause a denial of service through excessive CPU and memory use.
With full-diff change tracking, AshPaperTrail.ChangeBuilders.FullDiff.ListChange pairs each prior array element against the new list by rebuilding the remaining-elements accumulator with acc ++ [tuple] on every step, copying the growing list each time, so the pairing scales cubically in the array length. Nothing bounds the length and the value comes straight from action input, so one request carrying a large accepted {:array, _} attribute forces tens of seconds of CPU and multi-gigabyte allocations.
This issue affects ash_paper_trail: from 0.1.1 before 0.7.0.
Patch / fix
- hex ash_paper_trail 0.7.0
- ash-project ash_paper_trail 0.7.0
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/ash-project/ash_paper_trail/security/advisories/GHSA-7c66-59m8-723c referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 2.1 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N |
| CNA | 4.0 | 2.1 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/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 |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | ash_paper_trail | >=0.1.1, <0.7.0 |
0.7.0 |
Affected products
- ash-project ash_paper_trail
Classification
- Weakness
-
- CWE-407 Inefficient Algorithmic Complexity
References
-
github.com
/ash-project/ash_paper_trail/commit/e781f5d8840b07d57db99f9a4728298837d7b3a8
patch
-
github.com
/ash-project/ash_paper_trail/security/advisories/GHSA-7c66-59m8-723c
vendor-advisory, related, exploit, advisory
-
cna.erlef.org
/cves/CVE-2026-77831.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-77831
related
-
hex.pm
/packages/ash_paper_trail
package
Sources
- CVE List CVE-2026-77831
- NVD CVE-2026-77831
- OSV EEF-CVE-2026-77831
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.