{"id":"CVE-2026-118378","kind":"vulnerability","aliases":["CVE-2026-118378"],"related":[],"title":"Tabularis: SQLite describe_table MCP tool allows stacked SQL statements","description":"Tabularis before 0.28.0 contains an SQL injection vulnerability in its SQLite driver that allows MCP clients to execute stacked statements by supplying a crafted table_name to the describe_table tool. Attackers, including AI agents steered by untrusted content, can close the quoted PRAGMA argument and append statements to read, modify, or drop SQLite data, bypassing read-only mode and write approval.","summary":"Tabularis before 0.28.0 passes the table_name argument of its MCP describe_table tool into a SQLite PRAGMA without proper escaping. A crafted name closes the quoted argument and appends extra statements that can read, modify, or drop SQLite data, even in read-only mode.","severity":"high","cvss":8.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-agents","ai-tooling","mcp","sqlite","tabularis"],"not_affected_if":["mcp-disabled","no-sqlite-connections"],"how_to_check":"- Check the installed Tabularis version; any version below `0.28.0` is affected.\n- Check whether the Tabularis MCP server is enabled and connected to SQLite databases.","fix":"- Upgrade Tabularis to `0.28.0` or later.\n- Until upgraded, disable the MCP server or stop exposing SQLite connections to MCP clients.","status":"open","published_at":"2026-10-28T03:17:14+00:00","first_seen_at":"2026-10-28T03:31:02+00:00","triaged_at":"2026-10-28T03:32:28+00:00","updated_at":"2026-10-28T03:32:28+00:00","category":"ai-tooling","confidence":0.6,"triage":{"at":"2026-10-28T03:32:28Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Tabularis to `0.28.0` or later.\n- Until upgraded, disable the MCP server or stop exposing SQLite connections to MCP clients.","reach":"local","title":"Tabularis: SQLite describe_table MCP tool allows stacked SQL statements","impact":"high","summary":"Tabularis before 0.28.0 passes the table_name argument of its MCP describe_table tool into a SQLite PRAGMA without proper escaping. A crafted name closes the quoted argument and appends extra statements that can read, modify, or drop SQLite data, even in read-only mode.","category":"ai-tooling","nicknames":[],"who_cares":["tabularis","mcp","sqlite","ai-agents"],"confidence":0.6,"needs_auth":"unknown","worst_case":"Attacker reads, modifies, or drops SQLite data, bypassing read-only mode","analyst_note":"","how_to_check":"- Check the installed Tabularis version; any version below `0.28.0` is affected.\n- Check whether the Tabularis MCP server is enabled and connected to SQLite databases.","needs_analyst":false,"not_affected_if":["mcp-disabled","no-sqlite-connections"],"who_is_affected":"Teams running Tabularis with its MCP server enabled against SQLite databases are exposed, because MCP clients and AI agents can supply the table_name value. Installations without the MCP server, or without SQLite connections, are not reachable through this path.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.001076,"input_tokens":3359,"output_tokens":1481,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-118378':13A,16A '-2026':12A,15A '0.28.0':28B,74C 'agent':19B,106C 'ai':18B,21B,105C 'ai-ag':17B 'ai-tool':20B 'allow':7A,85C 'append':55B,118C 'approv':134C 'argument':33B,53B,116C 'attack':103C 'bypass':127C 'client':87C 'close':50B,112C 'contain':75C 'content':110C 'craft':48B,95C 'cve':11A,14A 'data':65B,126C 'describ':3A,37B,100C 'driver':83C 'drop':63B,124C 'escap':46B 'even':66B 'execut':89C 'extra':56B 'includ':104C 'inject':78C 'mcp':5A,23B,36B,86C 'mode':71B,131C 'modifi':61B,122C 'name':32B,49B,97C 'pass':29B 'pragma':43B,115C 'proper':45B 'quot':52B,114C 'read':60B,69B,121C,129C 'read-on':68B,128C 'sql':9A,77C 'sqlite':2A,24B,42B,64B,82C,125C 'stack':8A,90C 'statement':10A,57B,91C,119C 'steer':107C 'suppli':93C 'tabl':4A,31B,38B,96C,101C 'tabulari':1A,25B,26B,72C 'tool':6A,22B,39B,102C 'untrust':109C 'vulner':79C 'without':44B 'write':133C","nicknames":[],"mitigations":[],"who_affected":"Teams running Tabularis with its MCP server enabled against SQLite databases are exposed, because MCP clients and AI agents can supply the table_name value. Installations without the MCP server, or without SQLite connections, are not reachable through this path.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T03:17:14+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-118378","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118378","severity":null,"published_at":"2026-10-28T03:17:14+00:00","modified_at":"2026-10-28T03:17:14+00:00","first_seen_at":"2026-10-28T03:31:02+00:00","fetched_at":"2026-10-28T03:31:02+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}