CVE-2026-85689
nicheSQL injection in llmware 0.4.6 collection-database layer
llmware 0.4.6 is vulnerable to SQL injection (CWE-89) in its collection-database layer (llmware/resources.py), where filter and lookup values are directly string-interpolated into SQL WHERE clauses without parameterization or escaping, affecting both the SQLite and PostgreSQL backends. The filter validator only checks keys against an allow-list and never sanitizes values, so attacker-controlled filter values reaching the public API through Library.block_lookup and Query.text_query_with_custom_filter / Query.text_query_by_author_or_speaker can neutralize the intended scoping filter. An attacker with low-privileged API access gains unauthorized disclosure of rows they were scoped out of (cross-document and cross-collection data leakage), and on PostgreSQL the flaw additionally permits boolean- and UNION-based SQL injection; CVSS 4.0 rates it 7.1 (High) with high confidentiality impact and no integrity or availability impact. Any deployment of llmware 0.4.6 that exposes these query APIs to untrusted input is affected, with exposure limited by the framework's niche, self-hosted developer adoption. There is no public proof-of-concept, it is not in CISA KEV, and EPSS puts 30-day exploitation probability at about 0.3% (17th percentile), so no exploitation is currently known.
What to do: Monitor the llmware project for a patched release and upgrade as soon as one is published (the advisory does not specify a fixed version). Until patched, sanitize or escape filter and lookup values before they reach the database layer, or restrict Library.block_lookup and Query.text_query_with_custom_filter / text_query_by_author_or_speaker to trusted callers, and on PostgreSQL run the database account with least privileges while reviewing query logs for boolean/UNION injection patterns.
| llmware (open-source LLM framework) llmware | 0.4.6 (as stated in the advisory; no other version ranges provided) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
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 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.
- Weakness
- CWE-89
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/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
In the news0 stories
No ingested article mentions this CVE yet.