{"id":"CVE-2026-85689","title":"llmware 0.4.6 contains an SQL injection vulnerability in the collection-database layer (llmware/resources.py) where filter and lookup values are directly string-interpolated into SQL WHERE clauses without parameterization or escaping, in…","summary":"llmware 0.4.6 contains an SQL injection vulnerability in the collection-database layer (llmware/resources.py) where filter and lookup values are directly string-interpolated into SQL WHERE clauses without parameterization or escaping, in…","severity":"medium","cvss":6.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","cwe":["CWE-89"],"vendor":"llmware-ai","product":"llmware","affected":["llmware <= 0.4.6"],"published":"2026-09-04","updated":"2026-09-08","sourceUpdated":"2026-09-08T18:21:13.273","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-85689","references":[{"url":"https://github.com/llmware-ai/llmware","label":"disclosure@vulncheck.com"},{"url":"https://github.com/llmware-ai/llmware/blob/v0.4.6/llmware/resources.py","label":"disclosure@vulncheck.com"},{"url":"https://github.com/llmware-ai/llmware/issues/1304","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/llmware-0.4.6-sql-injection-via-unescaped-filter-values","label":"disclosure@vulncheck.com"}],"tags":["nvd","cve.org"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-09-08T17:10:16.228234Z"},"epss":0.00253,"epssPercentile":0.17062,"ingestedAt":"2026-09-08T19:08:49.592Z","slug":"CVE-2026-85689","body":"## Overview\n\nllmware 0.4.6 contains an SQL injection vulnerability in the collection-database layer (llmware/resources.py) where filter and lookup values are directly string-interpolated into SQL WHERE clauses without parameterization or escaping, in both the SQLite and PostgreSQL backends. The filter validator only checks keys against an allow-list and never sanitizes values. Attacker-controlled filter values reaching the public API via Library.block_lookup and Query.text_query_with_custom_filter / text_query_by_author_or_speaker can neutralize the intended filter to disclose rows the caller was scoped out of (cross-document/cross-collection disclosure); on PostgreSQL the flaw permits boolean- and UNION-based SQL injection.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":36,"depthScoreParts":{"impact":35.8,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}