---
id: "CVE-2026-114108"
kind: "vulnerability"
aliases: ["CVE-2026-114108"]
title: "Vibe-Trading: missing auth lets anyone run shell commands on the server"
severity: "critical"
cvss: 9.8
epss: 0.00357
exploited: false
status: "open"
category: "ai-tooling"
products: []
ecosystems: []
tags: ["ai-tooling", "fastapi", "python", "self-hosted", "vibe-trading"]
not_affected_if: ["api-auth-key-set", "version-0.1.7-or-later"]
published_at: "2026-10-21T01:17:36+00:00"
first_seen_at: "2026-10-23T21:57:28+00:00"
updated_at: "2026-10-24T13:15:54+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-114108", "first_seen_at": "2026-10-23T21:57:28+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-114108", "first_seen_at": "2026-10-24T13:15:54+00:00"}]
---

# Vibe-Trading: missing auth lets anyone run shell commands on the server

Vibe-Trading versions 0.1.0 before 0.1.7 skip the API auth check when API_AUTH_KEY is unset, so anyone who can reach the FastAPI server can post session messages that trigger shell commands through BashTool. An attacker can also upload .py or .sh files, read session histories, and obtain partial API keys.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

Check whether the environment sets API_AUTH_KEY for the Vibe-Trading service; if it is unset or empty, the API is open.
Check the installed version against 0.1.7.

## Fix

Upgrade Vibe-Trading to 0.1.7 or later.
Set API_AUTH_KEY to a strong secret and rotate any API keys that may have been exposed.

## Timeline

- 2026-10-23T21:57:28+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-114108
- 2026-10-24T13:15:54+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-114108

## From the sources

HKUDS Vibe-Trading from 0.1.0 before 0.1.7 contains a missing authentication vulnerability that allows unauthenticated attackers to access the FastAPI surface because require_auth() returns early when API_AUTH_KEY is unset. Attackers can post messages to /sessions/{id}/messages to trigger root shell commands via BashTool, upload .py or .sh files via /upload, read session histories, and obtain partial API keys.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
