Description
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.
Published: 2026-09-04
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: SQL Injection – potential cross‑document disclosure and Boolean/UNION‑based exploitation
Action: Immediate Patch
AI Analysis

Impact

llmware 0.4.6 is vulnerable to SQL injection in the collection‑database layer where unescaped filter values are directly interpolated into SQL WHERE clauses for both SQLite and PostgreSQL backends. The flaw arises because the filter validator only checks allowed keys, never sanitizing or parameterizing values. As a result, attackers can craft malicious filter inputs through the public API endpoints Library.block_lookup and Query.text_query_with_custom_filter / text_query_by_author_or_speaker. The impact includes unintended disclosure of rows the caller was scoped out of, cross‑document and cross‑collection data leakage, and on PostgreSQL additional Boolean and UNION‑based injection that could allow arbitrary data extraction or structural changes.

Affected Systems

The affected product is llmware‑ai’s llmware application, version 0.4.6. Both SQLite and PostgreSQL database backends are impacted because the vulnerability resides in llmware/resources.py which builds raw SQL queries regardless of backend.

Risk and Exploitability

The CVSS score is 7.1, reflecting a high‑severity vulnerability. EPSS is not available, so current exploit probability cannot be quantified, and the CVE is not listed in CISA KEV. Attackers would need to send specially crafted filter values to the public API, which is likely reachable over the network; no local privileges are required beyond API access. Because the flaw allows direct string interpolation, exploitation is straightforward when the attacker can influence the filter values, making the risk significant for exposed deployments.

Generated by OpenCVE AI on September 4, 2026 at 15:44 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade llmware to a non‑vulnerable release (e.g., 0.4.7 or later) that implements parameterized queries for all filter inputs.
  • If an upgrade is not immediately possible, restrict or disable the public API endpoints that accept block_lookup or text_query requests, or place them behind authentication and rate limiting to reduce exposure.
  • Implement custom input validation that rejects or escapes any non‑alphanumeric characters in filter values, and replace string interpolation with database parameter binding as a temporary workaround.

Generated by OpenCVE AI on September 4, 2026 at 15:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 09 Sep 2026 09:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 04 Sep 2026 16:15:00 +0000

Type Values Removed Values Added
First Time appeared Llmware-ai
Llmware-ai llmware
Vendors & Products Llmware-ai
Llmware-ai llmware

Fri, 04 Sep 2026 14:45:00 +0000

Type Values Removed Values Added
Description 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.
Title llmware 0.4.6 SQL Injection via unescaped filter values
Weaknesses CWE-89
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'}

cvssV4_0

{'score': 7.1, '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'}


Subscriptions

Llmware-ai Llmware
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-09-08T17:10:27.342Z

Reserved: 2026-09-04T13:51:43.959Z

Link: CVE-2026-85689

cve-icon Vulnrichment

Updated: 2026-09-08T17:10:23.087Z

cve-icon NVD

Status : Deferred

Published: 2026-09-04T15:17:46.803

Modified: 2026-09-23T17:17:46.660

Link: CVE-2026-85689

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T15:52:20Z

Weaknesses
  • CWE-89

    Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')