We added 41 new entries to VibeVulns this week, which brings the total to 183. Two of them need attention right away, so those come first.
LiteLLM 1.107.0 was malware
Critical. On October 21 a malicious litellm 1.107.0 was published to PyPI and pushed to LiteLLM's official Docker images. It adds Python startup hooks that steal credentials and set up an hourly remote-code loader, and it runs as soon as Python starts, even if you never import litellm. If you installed or pulled that version, treat the machine as compromised.
Supabase changes table access tomorrow, October 30
Heads-up. From October 30, Supabase stops granting anon, authenticated and service_role access to new tables in the public schema of existing projects. A new table won't be reachable through supabase-js, REST or GraphQL until you GRANT access explicitly, and RLS still has to be on as well. If your app creates tables and suddenly gets empty results, this is why.
MLflow 3.17.0 fixes unauthenticated code execution
Critical. Three MLflow advisories came out on October 27, all fixed in 3.17.0. The worst lets anyone who can reach a default no-auth MLflow server upload a Python file and get the server to run it through the third-party scorer endpoint. The others allow reading any file the server can read, and make mlflow.crewai.autolog() write CrewAI API keys into traces. A separate scorer-endpoint SSRF also went in this week.
How to check and fix it · The SSRF
Three Cursor bugs, all fixed in current versions
These were disclosed earlier in the year and are fixed in recent Cursor releases, but they're worth knowing about if you or your team run an old build:
- Symlink sandbox escape (critical): before 3.0, the agent could use a symlink inside the workspace to write anywhere you can, without approval. Details
- Planted git.exe on Windows: Cursor 3.2.16 ran a git.exe sitting in the root of a cloned repo as soon as you opened it. Cursor says 3.13.25 and later fix it. Details
- Auto-Run allowlist bypass: in Cursor 2.2 and earlier, some shell built-ins ran without approval, so a prompt injection could change environment variables and alter what later allowed commands did. Details
More fake AI packages
Critical. A PyPI package called aanthropic, one letter off from Anthropic's official anthropic package, runs malware when you install it. On npm, GitHub flagged agentic-awesome-skills, x402-prompt-injection-scan and formatting-subtitles-for-claude as malware. If any of these was installed, treat that computer as compromised.
The PyPI package · The npm packages
A login page that shipped its data anyway
Bootlegger, a South African coffee chain, had an internal dashboard (reportedly built with Claude and hosted on Railway) that showed a login screen but already included its data in the page. Anyone with the URL could read contact details for 132 locations and some financial data from the page source. It's a good reminder to check what your login page actually sends before anyone signs in.
Storybook dev server
Critical. While a vulnerable Storybook dev server is running and open in your browser, a malicious website can, with some user interaction, change story files in your project. Patched in 8.6.19, 9.1.21, 10.6.2 and 11.0.0-alpha.6, and @storybook/addon-mcp 10.6.2.
MCP servers and SDKs
Lots of MCP fixes this week. The first five are rated critical:
- @zereight/mcp-gitlab in SSE mode had no authentication and could be used to steal its GitLab token. Update to 2.1.30. Details
- mysql-mcp-server in SSE mode ran anyone's SQL, even from a web page through DNS rebinding, before 0.4.2. Details
- mcp-atlassian accepted any token over HTTP and acted with the operator's Jira and Confluence account before 0.22.0. Details
- Obsidian Web MCP handed out vault access without a login before 0.2.0. Details
- AWS postgres-mcp-server's read-only mode could be bypassed to run OS commands before 1.1.7. Details
- AWS API MCP Server accepted OAuth tokens issued to other apps before 1.6.0. Details
- obsidian-tc could still run destructive actions after you declined them, fixed in 1.31.4. Details
- MCP TypeScript server SDK 2.0.0 to 2.2.0 could send one client's responses to another. 2.3.0 fixes it, but you also need a code change. Details
- MCP TypeScript SDK HTTP servers had no limit on request size or batch length, fixed in @modelcontextprotocol/sdk 1.30.1. Details
- MCP Python SDK 1.30.0 and 2.2.0 fix three bugs, including tokens for other services being accepted. The audience fix needs a config change too. Details
LiteLLM, Langflow and other AI infrastructure
- LiteLLM proxy: an internal user could forge an admin token and run commands (critical, versions from 1.91.0). Details A read-only viewer could also read any file, including the master key, before 1.95.0. Details
- Langflow before 1.11.6 has 11 code-execution bugs, including unauthenticated RCE through shared MCP projects (critical). Details An older scanner gap let users run code as root before 1.10.1. Details
- vLLM: 0.31.0 fixes an SSRF that can leak KV-cache data plus three crash bugs, and 0.32.0 fixes eight more, including a path to pickle.loads. 0.31.0 · 0.32.0
- Mem0: crafted memories could inject SQL into a Databricks vector store before mem0ai 1.0.8, and session keys could collide so one tenant read another's messages. SQL injection · Tenant leak
- Strands Agents (AWS): A2A servers shared conversation history between callers, and default session files in /tmp could be read or hijacked by other local users. A2A · Sessions
- Hugging Face Datasets through 5.1.0 runs attacker code if you load a crafted pickle with the pandas builder. No patched release yet. Details
- ReqLLM (Elixir) skipped TLS checks on OpenAI WebSocket sessions, which can leak API keys. Fixed in 1.29.0. Details
PraisonAI, again
Eight PraisonAI entries this week, five of them critical. If you use it, upgrade the praisonai npm package to 1.7.2, praisonaiagents to 1.6.59 or later, praisonai to 4.6.59 and praisonai-platform to 0.1.6:
- codeMode sandbox escape and npm MCP server and AgentOS with no auth
- Default JWT secret lets anyone forge logins and any member can delete workspace content
- MCP SSE server with no auth and multiedit tool reads and writes any file
- Human approval bypasses and file reads and template cache path traversal
Some of these were disclosed earlier in the year and only made it into VibeVulns this week, so the fixes may already be out. Each page has the check and the fix.
Found something we missed? Send it in. Every entry needs a public source.