Уязвимость неправильной нейтрализации Escape-, Meta- или управляющих последовательностей в ash-project use_rules позволяет издателю вредоносного пакета внедрить управляющие последовательности терминала в выходные данные микса use_rules.search_docs.
mix use_rules.search_docs ищет документацию Hex через search.hexdocs.pm, который индексирует документацию каждого опубликованного пакета и выводит соответствующие результаты (название, пакет, тип, ссылку на документ и выделенные фрагменты) на терминал. Средство форматирования в Mix.Tasks.UsageRules.SearchDocs дословно интерполировало эти поля, контролируемые издателем, не нейтрализуя никакие управляющие символы терминала; единственное примененное преобразование добавляет escape-последовательности, а не удаляет их. Вредоносный пакет может встраивать escape-последовательности терминала ANSI (перемещение курсора, стирание строки, возврат каретки, запись в буфер обмена OSC 52) в свою индексированную документацию, поэтому, когда разработчик запускает поиск, который обнаруживает эти документы, последовательности достигают терминала без изменений — подделка отображаемого URL-адреса шестнадцатеричного документа или предложенной команды, скрытие текста или запись в буфер обмена.
Никакой аутентификации или привилегированного положения не требуется; только публикация пакета. Эта проблема затрагивает use_rules: с 0.1.18 до 1.2.8.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v4.0