Description
Tabby (formerly Terminus) is a highly configurable terminal emulator. Prior to 1.0.235, a malicious SFTP server can return a backslash traversal filename through entry.name. In tabby-ssh/src/session/sftp.ts, SFTPSession.readdir() and _makeFile() use POSIX path processing that preserves the backslashes as ordinary filename characters. In tabby-ssh/src/components/sftpPanel.component.ts, downloadFolderRecursive() propagates item.name into the local relative path. In tabby-electron/src/services/platform.service.ts, ElectronDirectoryDownload.createFile() passes that path to Windows-native path.join(), and in tabby-electron/src/sftpContextMenu.ts, EditSFTPContextMenu.edit() passes item.name to path.join() for the temporary edit path. Windows interprets the preserved backslashes and parent-directory components as traversal, allowing attacker-controlled content to be created or overwritten outside the selected download directory or temporary edit directory. This issue is fixed in version 1.0.235.
Published: 2026-08-10
Score: 8.1 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Tabby is a terminal emulator that, before version 1.0.235, allowed an attacker‑controlled SFTP server to send file names containing backslash path traversal sequences via entry.name. The application preserved these backslashes and forwarded them to Windows path joining, enabling the creation or overwriting of files outside the intended download or temporary edit directories. This can allow a malicious server to modify or replace files on the client machine, compromising integrity and possibly enabling privilege escalation if critical system files are targeted.

Affected Systems

Vendors: Eugeny's Tabby. The vulnerability affects all releases prior to 1.0.235. Users running any version from the archive through 1.0.234 are exposed. The affected components include the SFTPSession readdir handling, the sftpPanel download logic, and the Electron directory download service.

Risk and Exploitability

The CVSS score is 8.1, indicating high severity, and the issue is not listed in CISA KEV. The EPSS score is not available, but the lack of listing suggests the exploit is not widely observed yet. Exploitation requires a compromised or malicious SFTP server that the user trusts, which can be a common scenario in enterprise or personal environments. Once the server delivers a traversal filename, the client writes the file outside the set download directory, having no additional authentication or privilege checks.

Generated by OpenCVE AI on August 10, 2026 at 22:47 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Tabby to version 1.0.235 or later, which removes the vulnerability.
  • If unable to update immediately, avoid using the SFTP file download or edit features when connecting to untrusted servers.
  • Restrict write permissions on the download and temporary edit directories to prevent potential tampering, e.g., by running the application in a user context with limited privileges.

Generated by OpenCVE AI on August 10, 2026 at 22:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 11 Aug 2026 03:00:00 +0000

Type Values Removed Values Added
First Time appeared Eugeny
Eugeny tabby
Vendors & Products Eugeny
Eugeny tabby

Mon, 10 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
Description Tabby (formerly Terminus) is a highly configurable terminal emulator. Prior to 1.0.235, a malicious SFTP server can return a backslash traversal filename through entry.name. In tabby-ssh/src/session/sftp.ts, SFTPSession.readdir() and _makeFile() use POSIX path processing that preserves the backslashes as ordinary filename characters. In tabby-ssh/src/components/sftpPanel.component.ts, downloadFolderRecursive() propagates item.name into the local relative path. In tabby-electron/src/services/platform.service.ts, ElectronDirectoryDownload.createFile() passes that path to Windows-native path.join(), and in tabby-electron/src/sftpContextMenu.ts, EditSFTPContextMenu.edit() passes item.name to path.join() for the temporary edit path. Windows interprets the preserved backslashes and parent-directory components as traversal, allowing attacker-controlled content to be created or overwritten outside the selected download directory or temporary edit directory. This issue is fixed in version 1.0.235.
Title Tabby: Windows SFTP path traversal allows a malicious server to write files outside the selected download directory
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 8.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-10T20:39:57.054Z

Reserved: 2026-08-10T17:57:26.142Z

Link: CVE-2026-72903

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-11T02:45:06Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')