CVE-2026-82710 json
Terminal escape sequence injection in mix usage_rules.search_docs via package documentation metadata
published 2mo ago modified 2mo ago also EEF-CVE-2026-82710 , EUVD-2026-72589 , GHSA-j59f-776f-23hp
- cvss
- 2.3
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 52%
- public exploits
- 0
- none known
Summary
Improper Neutralization of Escape, Meta, or Control Sequences vulnerability in ash-project usage_rules allows a malicious package publisher to inject terminal control sequences into the output of mix usage_rules.search_docs.
mix usage_rules.search_docs searches Hex documentation through search.hexdocs.pm, which indexes the documentation of every published package, and prints the matching results (title, package, type, doc reference, and highlighted snippets) to the terminal. The formatter in Mix.Tasks.UsageRules.SearchDocs interpolated those publisher-controlled fields verbatim, neutralizing no terminal control characters; the only transform it applied adds escape sequences rather than removing them. A malicious package can embed ANSI terminal escape sequences (cursor movement, line erase, carriage returns, OSC 52 clipboard writes) in its indexed documentation, so when a developer runs a search that surfaces those docs the sequences reach the terminal unchanged — forging the displayed hexdocs URL or a suggested command, hiding text, or writing to the clipboard. No authentication or privileged position is required; only publishing a package.
This issue affects usage_rules: from 0.1.18 before 1.2.8.
Patch / fix
- hex usage_rules 1.2.8
- ash-project usage_rules 1.2.8
Is CVE-2026-82710 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2mo ago
Exploit prediction
0.66% chance of exploitation in the next 30 days, higher than 52% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 2.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 2.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/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 | usage_rules | >=0.1.18, <1.2.8 |
1.2.8 |
Affected products
- ash-project usage_rules
Classification
- Weakness
-
- CWE-150 Improper Neutralization of Escape, Meta, or Control Sequences
References
-
github.com
/ash-project/usage_rules/commit/3b8ebb4117d3272bbd436e6c2432113ba6685dbb
patch
-
github.com
/ash-project/usage_rules/security/advisories/GHSA-j59f-776f-23hp
vendor-advisory, related, advisory
-
cna.erlef.org
/cves/CVE-2026-82710.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-82710
related
-
hex.pm
/packages/usage_rules
package
Sources
- CVE List CVE-2026-82710
- NVD CVE-2026-82710
- OSV EEF-CVE-2026-82710
- Maintainer advisory GHSA-j59f-776f-23hp
Fencer Intel 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.
The maintainers of ash-project/usage_rules published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.