Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-64494

CVE-2025-64494: Soft Serve Git Server XSS Vulnerability

CVE-2025-64494 is a cross-site scripting vulnerability in Soft Serve, a self-hostable Git server. Attackers can inject ANSI escape sequences to display fake alerts. This article covers technical details, affected versions, and mitigation.

Published:

CVE-2025-64494 Overview

CVE-2025-64494 is an ANSI escape sequence injection vulnerability in Soft Serve, a self-hostable Git server for the command line developed by Charmbracelet. Versions prior to 0.10.0 fail to sanitize user-supplied input in fields such as names and Git commit messages before rendering them to the terminal. An authenticated attacker can inject ANSI escape sequences that manipulate terminal output, enabling display of fake alerts, hidden text, or misleading messages to other users. The issue is tracked under CWE-150 (Improper Neutralization of Escape, Meta, or Control Sequences). The vulnerability is fixed in Soft Serve version 0.10.0.

Critical Impact

Authenticated attackers can inject ANSI escape sequences into names and Git messages to spoof terminal output and mislead other Soft Serve users viewing repository content.

Affected Products

  • Charmbracelet Soft Serve versions prior to 0.10.0
  • Self-hosted Git server deployments exposing repository content to terminal clients
  • Environments where Soft Serve users read Git logs, commit messages, or user profile data

Discovery Timeline

  • 2025-11-08 - CVE-2025-64494 published to NVD
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-64494

Vulnerability Analysis

Soft Serve renders user-controlled strings, including account display names and Git commit messages, directly to terminal output. The application does not strip or neutralize ANSI escape sequences embedded in these strings. When a legitimate user views affected content through the terminal user interface, the terminal interprets the injected control codes rather than displaying them as text.

ANSI escape sequences can alter foreground and background colors, reposition the cursor, clear regions of the screen, and overwrite existing output. An attacker who controls a repository, commit history, or profile field can craft payloads that render fake status messages, hide malicious content, or impersonate server output. This creates a foundation for social engineering attacks against Soft Serve administrators and collaborators.

Root Cause

The root cause is missing output sanitization in code paths that print user-supplied data to a terminal. Soft Serve treats commit metadata and user profile fields as trusted text and passes them through to the rendering layer without stripping control characters. The fix in commit d9639320 neutralizes escape sequences before display.

Attack Vector

Exploitation requires network access and low-privilege authenticated access to a Soft Serve instance, along with user interaction from a victim who views the poisoned content. An attacker embeds escape sequences such as ESC[ payloads inside a Git commit message, tag, or profile name. When another user runs a command that lists commits or views user data, the terminal processes the sequences. Technical detail is available in the GitHub Security Advisory GHSA-fv2r-r8mp-pg48.

Detection Methods for CVE-2025-64494

Indicators of Compromise

  • Git commit messages, tags, or user profile fields containing raw ESC (0x1B) bytes or \\x1b[ byte sequences
  • Unusual cursor manipulation, color changes, or screen clears when running git log or Soft Serve TUI commands against a repository
  • Repository content that renders differently in a terminal than in a plain-text viewer such as cat -v

Detection Strategies

  • Scan repositories and Soft Serve databases for commits, tags, refs, and user records containing control characters in the 0x00–0x1F range excluding whitespace
  • Inspect Soft Serve process logs for authentication events correlated with commit pushes that contain non-printable bytes
  • Run periodic integrity checks that pipe commit metadata through cat -v or a regex matcher for \\x1b\[[0-9;]*[a-zA-Z]

Monitoring Recommendations

  • Alert on new commits or profile updates that include ANSI control sequences in metadata fields
  • Track Soft Serve version across all self-hosted instances and flag any running a release earlier than 0.10.0
  • Correlate SSH and HTTP push events with subsequent user reports of anomalous terminal output

How to Mitigate CVE-2025-64494

Immediate Actions Required

  • Upgrade all Soft Serve deployments to version 0.10.0 or later
  • Audit existing repositories for commits, tags, and user records containing embedded escape sequences and rewrite or remove affected history
  • Restrict write access on Soft Serve instances to trusted users until the upgrade is complete

Patch Information

The vulnerability is remediated in Soft Serve 0.10.0. The fix is implemented in commit d9639320b8d0ccd76fe6836a042c042b0ebde549, which sanitizes ANSI escape sequences from user-supplied fields and Git messages before printing them. Refer to the GitHub Security Advisory GHSA-fv2r-r8mp-pg48 for full remediation guidance.

Workarounds

  • Pipe Git output through filters such as cat -v or sed 's/\\x1b\[[0-9;]*[a-zA-Z]//g' when reviewing untrusted repository content
  • Disable or restrict anonymous and low-trust write access to Soft Serve repositories until patched
  • Instruct users to view commit messages and profile data through the web UI or a plain-text viewer rather than a raw terminal session
bash
# Verify installed Soft Serve version and upgrade
soft --version

# Pull the patched release container image
docker pull charmcli/soft-serve:v0.10.0

# Or build from source at the patched tag
git clone https://github.com/charmbracelet/soft-serve.git
cd soft-serve
git checkout v0.10.0
go build ./cmd/soft

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.