CVE-2026-115324: mem0ai Databricks vector store vulnerable to SQL injection
The mem0ai Databricks vector store builds SQL for its write operations with string interpolation. An attacker who can influence stored memory text, metadata or message names can inject SQL that runs on the configured Databricks SQL warehouse. Versions 0.1.117 up to but not including 1.0.8 are affected. Upgrade mem0ai to 1.0.8.
Published Oct 22, 2026 · Updated Oct 23, 2026 · Analysis Oct 24, 2026
What an attacker can do
The flaw is in mem0/vector_stores/databricks.py. The insert() method escaped values by hand with _format_sql_value(). The update() method interpolated payload values and the vector id straight into the statement, and used payload keys as column names without any check. The fix pull request also found that delete() put vector_id directly into its WHERE clause.
Memory content is often derived from what users or other systems tell an AI agent. An attacker who can get crafted text, metadata or a message name stored as a memory can break out of the string and run their own SQL. The statement runs with the credentials of the Databricks SQL warehouse that mem0 is configured to use.
That can expose or change any data those credentials reach, and can drop or alter tables. The CVSS vector rates attack complexity as high and needs no privileges or user interaction. The attack path is network-based. The real exposure depends on how much untrusted text your application writes into mem0.
Only deployments that use the Databricks vector store are affected. Other mem0 vector backends are not covered by this advisory.
Who is affected
Affected: mem0ai from 0.1.117 up to but not including 1.0.8, when the Databricks vector store is configured as the provider. Check your installed version:
pip show mem0aiThen search your mem0 configuration for a vector store provider set to databricks. If you use another provider, this flaw does not apply to you, though upgrading is still sensible.
mem0ai
- Ecosystem
- PyPI
- Affected
- >= 0.1.117, < 1.0.8
- Fixed in
- 1.0.8
- Check
pip show mem0ai
How to fix it
Upgrade to 1.0.8:
pip install --upgrade "mem0ai>=1.0.8"Pull request 4558 switches delete(), update() and insert() to parameterized queries through Databricks' StatementParameterListItem. It also rejects payload keys that do not match ^[A-Za-z_][A-Za-z0-9_]*$. Embedding vectors are still inlined as numeric floats because the parameter type does not support arrays. The sources list no workaround. Until you upgrade, limit the permissions of the warehouse credentials mem0 uses.
How to tell if you were hit
Review Databricks SQL warehouse query history for statements issued by the mem0 service principal that contain unexpected clauses, extra statements, or table names other than your memory table. Inspect stored memory records for text, metadata or message names that contain SQL fragments such as quotes followed by keywords. Look for failed or malformed INSERT and UPDATE statements, which often precede a working injection. The sources give no specific indicators of compromise.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
mem0 0.1.117 before 1.0.8 contains an sql injection vulnerability in mem0/vector_stores/databricks.py that allows attackers to inject SQL by influencing stored memory content. Attackers can supply crafted memory text, metadata, or message names that reach unescaped insert() and update() string interpolation to execute injected SQL on the configured Databricks SQL warehouse.
Questions
- Am I affected if I use mem0 with a different vector store?
The advisory is limited to the Databricks integration in
mem0/vector_stores/databricks.py. Other vector store providers are not described as affected.- Which mem0ai versions are vulnerable to CVE-2026-115324?
From 0.1.117 up to but not including 1.0.8. Version 1.0.8 is the fixed release.
- Does the attacker need credentials?
The CVSS vector lists no privileges and no user interaction. The attacker only needs a way to influence stored memory content, such as memory text, metadata or message names, so exposure depends on what untrusted input reaches mem0.
- Is this exploited in the wild?
No source says so, and the entry is not in CISA's KEV catalog.
References
Read for this analysis:
- https://github.com/mem0ai/mem0/pull/4558
- https://www.vulncheck.com/advisories/mem0-0.1.117-before-1.0.8-sql-injection-via-databricks-vector-store
- https://nvd.nist.gov/vuln/detail/CVE-2026-115324
- https://github.com/mem0ai/mem0/issues/4073
- https://github.com/mem0ai/mem0/commit/a2ffca32660537b7b304305f36774ae2a13452cb
- https://github.com/mem0ai/mem0
- https://github.com/mem0ai/mem0/blob/v1.0.7/mem0/vector_stores/databricks.py
- https://github.com/mem0ai/mem0/releases/tag/v1.0.8
- https://github.com/advisories/GHSA-7587-9684-52r6
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
