PT-2026-86964 · Ash+1 · Usage Rules

·

CVE-2026-82710

·

Published

2026-09-08

·

Updated

2026-09-08

CVSS v4.0

2.3

Low

VectorAV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

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.

Configurations

Reachable only when a developer runs mix usage rules.search docs in a terminal emulator that interprets ANSI escape sequences and the results include documentation from an attacker-published package (for example a broad --everywhere search).

Exploit

Fix

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-82710
GHSA-J59F-776F-23HP

Affected Products

Usage Rules