All tracked items across vulnerabilities, news, research, incidents, and regulatory updates.
Chainlit versions 2.4.0 through 2.11.x have a critical vulnerability in their MCP (Model Context Protocol) feature that allows unauthenticated attackers to execute arbitrary commands on the server. The vulnerability exists because the `/mcp` endpoint accepts user-controlled commands but only checks the executable name (like `npx`) against an allowlist, not the arguments passed to it, allowing attackers to use `npx -y -c 'ARBITRARY COMMAND'` to run malicious code with the server's privileges.
Fix: Upgrade to Chainlit version 2.12.0 (released 2026-08-25). This version removes the `fullCommand` parameter from client requests entirely; instead, MCP servers are now declared by developers in `.chainlit/config.toml` under `[[features.mcp.servers]]` and selected by name at connection time, so commands never cross from client to server and no sanitization vulnerability exists.
GitHub Advisory DatabaseDradis Community Edition has a broken authorization check in its ProvidersController and AgentsController because they check for a constant that never exists, allowing any logged-in non-admin user to create fake AI providers pointing to arbitrary websites. When triggered, the server makes requests to these attacker-controlled URLs (SSRF, or server-side request forgery, where a server is tricked into making requests to unintended targets) and leaks the responses back to the attacker through error messages.
A security flaw (CVE-2026-78379) in Strands Agents Tools, a Python SDK for building AI agents, allows attackers to bypass the approval prompt in the python_repl tool (which normally requires human consent before running Python code on a system). An attacker can craft a malicious prompt that uses the batch tool to sneak in a keyword argument, letting them execute arbitrary Python code without permission.
browse-mcp versions before 0.8.2 had a critical security flaw where file download and state management functions didn't properly check file paths, allowing attackers to write files to any location on the system (like startup scripts or configuration files) and potentially execute code. The vulnerability could be exploited by malicious MCP clients (software components that interact with the browser tool) or through prompt injection (tricking an AI by hiding instructions in web page content).
The qwed package (version 5.1.1) has a critical vulnerability where user-supplied mathematical expressions are passed directly to SymPy's `parse_expr()` function without restrictions. Since `parse_expr()` internally uses Python's `eval()` (a function that runs arbitrary code), any authenticated user can execute malicious Python code on the server, leading to complete compromise. An attacker only needs to create a free account through the signup endpoint to exploit this.
X-AnyLabeling's model downloader has a serious security flaw where it disables TLS certificate verification (the process that confirms you're connecting to the real website and not an imposter), allowing attackers who can intercept internet traffic to replace downloaded AI models with malicious ones. The application only checks if downloaded files are valid formats, not whether they came from a trusted source, so attackers can inject malicious code that executes when the model runs.
Vocos, an AI model loading library, has a security flaw where it loads and runs any code specified in a configuration file without checking if that code is safe (instantiate_class, a function that creates objects based on config file instructions, doesn't use an allowlist to restrict which classes can be loaded). This means if you load a model from an untrusted source, the attacker who controls that source can run arbitrary code on your computer during the loading process.
Nokogiri versions before 1.19.3 have a ReDoS vulnerability (regular expression denial of service, where carefully crafted input causes a regex pattern to take exponentially longer to process) in how it parses CSS selectors. Attackers can exploit this by injecting malicious CSS selectors into methods like Node#css and Node#at_css to make the application hang or crash.
Nextcloud MCP Server (a tool that connects AI assistants to Nextcloud file storage) had a security flaw in versions before 0.117.2 where the webhook endpoint (a way for systems to send automated messages) didn't require authentication by default. This allowed attackers to send fake requests that could delete or mess up vector embeddings (the numerical representations of data used for semantic search, which helps find files by meaning rather than keywords), harming the search index for any user.
A vulnerability in the utcp-http library allows attackers to bypass URL validation through HTTP redirects. When a tool is invoked, the library validates the initial URL but then follows redirects without re-checking where they lead, allowing an attacker to redirect the request to internal services like cloud metadata endpoints (systems that store sensitive configuration data) and steal the response. This is a form of SSRF (server-side request forgery, where an attacker tricks a server into making requests to unintended targets).
mcp-shell has two security flaws that disable protections in both deployment methods. By default, security is turned off (opt-in instead of opt-out), so users following the standard installation instructions run an unrestricted shell server where any connected LLM can execute arbitrary commands through prompt injection. Additionally, even Docker users who enable "secure mode" can bypass it by calling allowed programs like bash or python with flags that create interactive shells, giving the LLM direct command execution.
mcp-shell has a security flaw where its default configuration allows `/bin/bash` as an allowed command, but the validator only checks the first word of a command and ignores flags like `-c`. This means an attacker can send `/bin/bash -c <any-command>` to bypass the allowlist (a restrictions list) and run any command on the system, such as `id` or `curl`, with no authentication needed.
mcp-shell's secure mode is supposed to restrict which programs can run, but it has a bypass vulnerability. An attacker can use a Git feature (shell aliases, triggered by the `!` character) to run any command they want, even though the security checker blocks other dangerous characters. The default Docker setup runs this vulnerable version without protection, so anyone who can send commands can take over the system.
qwed-mcp v0.2.0 has a critical remote code execution vulnerability in the `verify_math_expression()` function, which passes user input directly to SymPy's `parse_expr()` without restricting access to Python's built-in functions. Because `parse_expr()` internally calls `eval()` and does not explicitly block `__builtins__`, an attacker can embed arbitrary Python code (like `__import__('os').system()`) to execute OS commands with the privileges of the running process, including root access in containers.
PraisonAI's HTTP server has a flaw in how it checks which websites are allowed to make requests to it, using a prefix match that allows attackers to bypass it by registering domains like 'localhost.attacker.com'. Combined with no default authentication and no requirement for session validation, an attacker can trick a victim into visiting a malicious webpage that silently makes requests to the victim's local PraisonAI server to create rules that inject the attacker's instructions into all future agent runs on that machine.
PraisonAI's Jobs API (a FastAPI service that runs AI agent jobs) has no authentication checks on any of its endpoints. This means anyone who can reach the server can submit jobs to run against the system's AI credentials, view all jobs and their results, cancel running jobs, and delete completed jobs without providing any token, password, or proof of identity. The vulnerability is separate from a similar bug that was already fixed in an older Flask-based API component, but this FastAPI jobs module was left unpatched.
PraisonAI's `praisonai serve` command accepts an `--api-key` flag for authentication, but the flag is parsed and never actually used to protect the server. The FastAPI application (a web framework for building APIs) is created without any authentication middleware (code that checks credentials before allowing access), leaving endpoints like `POST /agents` completely open to anyone, even though the help text promises the key would protect them. This affects version 4.6.50 and likely all versions since 4.6.34 when the serve system was introduced.
PraisonAI's `praisonai serve agents` command accepts an `--api-key` flag that claims to enable authentication, but the code that creates the HTTP server never actually uses this key. This means anyone on the network can invoke agents through the `POST /agents` and `POST /agents/{agent_name}` routes without providing any credentials, even though the operator thought they were securing the service. The problem is made worse because a working authentication function already exists in the same codebase (called `verify_token`, which guards other API routes), but it is simply not applied to these agent-invocation routes.
PraisonAI's workspace containment system, which is supposed to prevent agent tools from accessing files outside a designated directory, has three critical flaws. First, the `read_file`, `write_file`, `apply_diff`, and `search_replace` tools use `os.path.abspath()` instead of `realpath()` (a function that fully resolves symbolic links, or pointers to other files), allowing attackers to use symlinks inside the workspace to read or modify files outside it. Second, `list_files()` doesn't check containment at all, letting attackers escape using `../` path traversal (a technique where `../` moves up one directory level). Third, `execute_command()` doesn't validate the working directory, letting attackers run commands from outside the workspace.
The `ast_grep_rewrite` function in PraisonAI (a library that lets AI agents modify code) can rewrite files on disk without asking for user approval, unlike all its similar sibling functions which have approval gates. An attacker or malicious prompt can use this unprotected function to inject arbitrary code into files, and the function falsely reports 'No changes made' even when files are modified, hiding the attack from the operator.
Fix: Update to strands-agents-tools version 0.8.5 or later. The bulletin states the vulnerability exists in 'versions before 0.8.5'.
AWS Security BulletinsFix: Fixed in version 0.8.2. The patch confines file downloads to a specific directory (~/.browse-mcp/downloads) and state files to (~/.browse-mcp/state), rejects absolute paths and directory escape sequences (..), strips filenames to their base names only, and enforces the origin fence (allowed website restrictions) on all fetches. Users should upgrade to browse-mcp 0.8.2.
GitHub Advisory DatabaseFix: Upgrade to Nokogiri version 1.19.3 or later.
NVD/CVE DatabaseFix: Update to version 0.117.2 or later. According to the source, 'This issue is fixed in version 0.117.2.'
NVD/CVE DatabaseFix: The source explicitly recommends: flip the default to enable security by default, with an `--allow-unsafe` flag (or equivalent environment variable) requiring explicit opt-in for unrestricted mode. Additionally, the allowed executables list should be reviewed to prevent shell interpreters like `/bin/bash` and `/usr/bin/python3` from being in the allowlist in secure mode, since they can be invoked with flags that bypass metac character restrictions.
GitHub Advisory Database