Description
wetty provides terminal access in browser over http/https. Prior to version 3.0.4, the wetty client decodes a base64 filename from the file-download escape sequence and interpolates it raw into a Toastify HTML string (`escapeMarkup: false`). Any output the victim renders - a `cat`'d file, a tailed log, an SSH MOTD, a `curl` response - that contains `\x1b[5i...:...\x1b[4i` runs script in the wetty origin and types attacker-chosen keystrokes into the victim's SSH session. Version 3.0.4 fixes the issue.
Published: 2026-08-13
Score: 8.6 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability allows an attacker to inject arbitrary JavaScript into the wetty client by inserting a specially crafted base64‑encoded filename in a file‑download escape sequence. When the client decodes and directly injects the filename into an unescaped Toastify HTML string, the script runs in the wetty origin and automatically types attacker‑chosen keystrokes in the victim’s SSH session, giving the attacker full control over that session. The flaw is a classic DOM XSS (CWE‑79) that can lead to remote code execution on the user’s machine.

Affected Systems

Affected systems are installations of butlerx:wetty released before version 3.0.4. Any deployment using those earlier releases is vulnerable. Operators should check the current version and confirm that it is at least 3.0.4.

Risk and Exploitability

The CVSS score of 8.6 indicates high severity, and the lack of an EPSS score precludes a precise exploitation probability estimate, but the vulnerability being a DOM XSS that executes payload in the user’s browser makes it readily actionable by anyone who can deliver a malicious payload to the victim. The issue is not listed in the CISA KEV catalog, meaning no known widespread exploitation has been reported yet, but the risk of exploitation remains high if attackers gain a foothold or can trick users into downloading crafted files. Prompt remediation is therefore advised.

Generated by OpenCVE AI on August 13, 2026 at 20:48 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Wetty to version 3.0.4 or newer.
  • Apply strict input validation to disallow unescaped escape sequences in file download payloads.
  • Enforce a Content Security Policy that limits script execution within the wetty interface.

Generated by OpenCVE AI on August 13, 2026 at 20:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-p26j-h7wj-r568 wetty vulnerable to DOM XSS via file-download filename
History

Thu, 13 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Description wetty provides terminal access in browser over http/https. Prior to version 3.0.4, the wetty client decodes a base64 filename from the file-download escape sequence and interpolates it raw into a Toastify HTML string (`escapeMarkup: false`). Any output the victim renders - a `cat`'d file, a tailed log, an SSH MOTD, a `curl` response - that contains `\x1b[5i...:...\x1b[4i` runs script in the wetty origin and types attacker-chosen keystrokes into the victim's SSH session. Version 3.0.4 fixes the issue.
Title wetty vulnerable to DOM XSS via file-download filename
Weaknesses CWE-79
References
Metrics cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-13T19:10:41.037Z

Reserved: 2026-06-01T22:03:19.640Z

Link: CVE-2026-49864

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-13T20:17:22.720

Modified: 2026-08-13T20:17:22.720

Link: CVE-2026-49864

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T21:00:06Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')