CVE-2026-81856 Details
Description
Improper Neutralization of Escape, Meta, or Control Sequences vulnerability in hexpm hex allows a malicious package publisher or a hostile repository server to inject terminal control sequences into the output of Mix tasks. Hex prints strings supplied by the package repository and the documentation search service straight to the terminal through Hex.Shell.info/1 and Hex.Shell.error/1, neutralizing no control characters. Affected sinks span package metadata and configuration snippets in mix hex.info, search results in mix hex.package search and mix hex.search, owner and organization listings, publish and sponsor URLs, the authenticated username in mix hex.user, policy identities in mix hex.policy, and API error bodies rendered by Hex.Utils.print_error_result/1. A malicious package can embed ANSI escape sequences (cursor movement, line erase, carriage returns, OSC 52 clipboard writes) or Unicode bidirectional overrides in any of those fields, so the bytes reach the terminal unchanged, forging displayed URLs, package descriptions and suggested commands, concealing real output, or writing to the clipboard. No authentication or privileged position is required; only publishing a package. This issue affects hex: from 0.0.1 before 2.5.2.
A vulnerability in the Hex package manager for the Elixir programming language allows malicious package publishers or hostile repository servers to inject unneutralized terminal control sequences into the output of Mix tasks. This issue affects Hex versions from 0.0.1 prior to 2.5.2. The vulnerability arises because Hex outputs strings from the package repository and documentation search service directly to the terminal using Hex.Shell.info/1 and Hex.Shell.error/1, without neutralizing control characters. As a result, a malicious package can embed ANSI escape sequences or Unicode bidirectional overrides in various fields, such as package metadata, search results, owner and organization listings, and API error bodies. This injection can forge displayed URLs, package descriptions, and commands, conceal real output, or write to the clipboard.
Upgrade Hex to version 2.5.2 or later. After upgrading, Hex will automatically escape terminal control characters in text from the hex.pm repository and the registry before printing, and it will reject registry dependencies with invalid package or repository names.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Oct 12, 2026CISA-ADP
Assessed Oct 16, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://cna.erlef.org/cves/CVE-2026-81856.html | EEF | AdvisoryRemedy |
| https://github.com/hexpm/hex/commit/211303e3f68f5d3ce06450c1ff1a7a770a9ab236 | EEF | Source CodeVendor |
| https://github.com/hexpm/hex/commit/dd3305ddf0032f6d0b468fd40dbbc3072bfcb8b8 | EEF | Source CodeVendor |
| https://github.com/hexpm/hex/security/advisories/GHSA-fpmj-3cxg-p766 | EEF | AdvisoryRemedyVendor |
| https://osv.dev/vulnerability/EEF-CVE-2026-81856 | EEF | AdvisoryRemedy |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-150 | Improper Neutralization of Escape, Meta, or Control Sequences | EEF |
Affected Products
| Product | Versions |
|---|---|
| hexpm hex | >= 0.0.1, < 2.5.2 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Oct 16, 2026 | CVE Modified | CISA-ADP |
| Oct 12, 2026 | New CVE Received | EEF |
Volerion