> status: mostly fine. patch anyway.practical AI security · est. 2026

Brief · Builders

Your approval prompt doesn't run when nobody's watching.

By alkizz ·

Lasso Security researchers Noy Pearl, Michael Sromin and Ophir Dror found six CVEs across five open-source agent platforms: DB-GPT, Langchain-Chatchat, EvoScientist, LangAlpha and OpenSRE. VulnCheck assigned the IDs, and the records went up Oct 19. Five of the six end the same way: a shell or code tool runs and nobody said yes. The sixth is DB-GPT shipping a hardcoded MySQL root password. In the five, either the endpoint has no authentication at all, or the project has an approval gate the shell tool never goes through: EvoScientist's async sub-agents skip it, and LangAlpha's and OpenSRE's shell tools were never wired into it, scheduled and headless runs included. Lasso's database marks all six "Known exploit: No," and none is in CISA KEV (catalog 2026.10.23, checked Oct 25). Only EvoScientist shows a fix.

The six

Two ways in

No lock on the door. DB-GPT and Langchain-Chatchat just answer whoever connects. Lasso's Chatchat proof of concept is one curl with no model and no GPU involved, and the command runs before the response is serialized, so the server returns HTTP 500 even when the attack worked. DB-GPT needs the model to cooperate: in Lasso's runs, llama3.1:8b and qwen3:8b emitted the tool call, while mistral:7b fumbled the tool-call format. Lasso is clear that this was formatting, "not a safety refusal." Your model's competence is not a security control.

A lock on a different door. EvoScientist, LangAlpha and OpenSRE each have an approval gate, just not on the shell. EvoScientist's main agent asks; its async sub-agents never do. LangAlpha's gate covers plan submission, not Bash or ExecuteCode. OpenSRE's shell_run never opts in, and its headless presenter approves everything on gateway and scheduled runs. Schedules and headless runs mean nobody is there to notice. Text the agent reads (a web page, a filing, an alert) becomes the instruction. In Lasso's OpenSRE tests, a local qwen3:14b emitted 14 shell_run calls across two runs, and all of them ran with no approval. Commands observed during testing included kubectl config changes and sudo systemctl restart. Lasso also says the injected command was saved into OpenSRE's cross-session memory under ~/.opensre/memory/; whether it re-runs later was unconfirmed.

Scores and fixes, checked

The scores depend on who you ask. VulnCheck, as the CNA, gives CVSS 3.1 9.8 to five of the six and 8.8 to LangAlpha in the CVE records. Its CVSS 4.0 scores are 9.3 for those five; for LangAlpha the CVE record says 8.7 and VulnCheck's own advisory page says 8.6 for the same vector. The CNA record is the one to quote, and 8.7 is what the CVSS 4.0 calculator gives for that vector. Lasso's pages list 9.8 for five and 8.8 for LangAlpha. ThreatFrontier reports different Lasso figures (9.9, 9.6 and 9.0 for EvoScientist, LangAlpha and OpenSRE); the Lasso pages I read don't show those. Call it critical-to-high and move on.

EvoScientist's fix came before the CVE. Issue #387 was closed by the "unified HITL approval for sync + async sub-agents" change, shipped in 0.2.5 on Aug 1. Read the release notes before you call it done, though: sync sub-agents now prompt, but the async writing and data-analysis agents get a backend guard that refuses "pipe-into-interpreter" commands rather than an approval prompt. That's a narrower fix than "approvals everywhere."

For the other four, the CVE records list no fixed version. DB-GPT's newest release is still 0.8.2, the affected version. Langchain-Chatchat's newest tagged release is v0.3.1, from July 2024. LangAlpha's newest tag is still v2026.09.07, the affected version. OpenSRE ships releases almost daily; the changelogs from 0.1.2026.10.20 through 0.1.2026.10.25 that I read don't mention shell_run or approvals. A quiet changelog isn't proof of no fix, so check the repo before you trust a new version.

My take: a 3, not a 4. Nobody is exploiting these yet, and you have to run one of five fairly niche tools. But if you run Chatchat or DB-GPT on a home-lab box with the shipped compose file, assume anyone on that network can run commands as root on it today. No fixed version is listed, so for now the fix is your network config.

What to do:

Sources

← All briefs