Findings

CVE-2026-60090

PraisonAI: PGVector and Cassandra knowledge stores interpolate vector dimensions into DDL

Published Oct 8, 2026 · corrected/updated Oct 15, 2026 · evidence confidence high

# PGVector and Cassandra knowledge stores interpolate vector dimensions into DDL ## Summary The PGVector and Cassandra knowledge-store backends validate SQL/CQL identifiers such as schema, keyspace, and collection names, but still insert the caller-controlled argument directly into vector column declarations. A caller that can influence collection creation dimensions can append SQL/CQL tokens to the generated DDL executed by the database driver. ## Technical Details The affected boundary is the vector-store collection creation API. The shared contract declares , but Python type hints are not enforced at runtime. Backends that interpolate that value into DDL must validate the runtime value before constructing SQL/CQL. already treats DDL identifier interpolation as security-sensitive: calls , and calls before returning . However, then executes: No equivalent type or range check runs on . Passing a string such as reaches the SQL sent to . has the same pattern. The constructor validates , and validates the collection name, but the vector column DDL uses: Passing a string such as reaches the CQL sent to . ## PoV This minimal PoV imports the real backend classes with fake database drivers, records the statements sent to the drivers, and compares a safe integer dimension with a malicious string dimension. It also attempts a malicious collection name as a negative control; current code rejects that name, proving the identifier hardening is active while the vector dimension remains unguarded. ## PoC Save the PoV script above as , then reproduce against current head: Decisive PGVector output: Decisive Cassandra output: The local controls also showed safe integer dimensions produce and without , while malicious collection names are rejected before driver execution. ## Impact This is a SQL/CQL injection sink in database DDL generation. Applications that expose RAG collection creation, tenant workspace provisioning, plugin-managed vector-store setup, or similar lower-trust confi

Grounded briefings

Catalog interpretations for three audiences. Each brief cites ingested metadata and the original advisories below. They are not independent research and they do not invent exploit steps.

Executive

CVE-2026-60090 is a unknown public vulnerability record for this product. It is not currently listed in the CISA Known Exploited catalog. Check the linked vendor or CERT advisories for patch status. This summary is a catalog interpretation of the ingested metadata and cites the original advisories below.

System administrator

Identify whether this product is in your estate, then compare installed versions with the affected ranges. Affected packages or ranges on record: praisonai (0 → 4.6.78). Check the linked vendor or CERT advisories for patch status. Prefer the vendor or distribution advisory linked in Sources before changing production systems. This is a catalog interpretation, not a runbook.

Security analyst

Signals on file: no CVSS/EPSS yet. It is not currently listed in the CISA Known Exploited catalog. Weakness classes: CWE-89, CWE-943. Sources contributing to this record: cve_org, github, osv. Public exploit references, when present, are outbound links only and are not proof of active exploitation. This is a catalog interpretation of stored metadata.

Exploitation and remediation

  • Exploitation evidence

    Not listed as known exploited in CISA KEV. Not in the CISA KEV catalog.

  • Patch and remediation

    No required-action text is stored yet. Use the vendor or CERT links in Sources for patch availability.

  • Safe detection guidance

    Compare installed versions with the affected ranges below and verify the advisory from the original publisher. This site stores metadata and outbound links only; it does not ship exploit code or proof-of-concept payloads.

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Oct 8, 2026 · GitHub Advisory Database

    Detected

    # PGVector and Cassandra knowledge stores interpolate vector dimensions into DDL ## Summary The PGVector and Cassandra knowledge-store backends validate SQL/CQL identifiers such as schema, keyspace, and collection names, but still insert the caller-controlled argument directly into vector column declarations. A caller that can influence collection creation dimensions can append SQL/CQL tokens to t

  2. Oct 8, 2026 · GitHub Advisory Database

    Fix available

    praisonai fixed in 4.6.78

  3. Oct 8, 2026 · GitHub Advisory Database

    Fix available

    praisonai fixed in 4.6.78

  4. Oct 8, 2026 · GitHub Advisory Database

    Updated

    # PGVector and Cassandra knowledge stores interpolate vector dimensions into DDL ## Summary The PGVector and Cassandra knowledge-store backends validate SQL/CQL identifiers such as schema, keyspace, and collection names, but still insert the caller-controlled argument directly into vector column declarations. A caller that can influence collection creation dimensions can append SQL/CQL tokens to t

  5. Oct 15, 2026 · GitHub Advisory Database

    Updated

    # PGVector and Cassandra knowledge stores interpolate vector dimensions into DDL ## Summary The PGVector and Cassandra knowledge-store backends validate SQL/CQL identifiers such as schema, keyspace, and collection names, but still insert the caller-controlled argument directly into vector column declarations. A caller that can influence collection creation dimensions can append SQL/CQL tokens to t

Affected

  • PyPI praisonai0 → 4.6.78

Sources

  • CVE.orgVulnerability recordCVE-2026-60090

    Official CVE identifier

    cve.org
  • GitHub Advisory DatabasePackage advisoryGHSA-wf65-4jjx-q444

    GitHub Advisory Database record mirrored by OSV.

    github.com
  • OSV.devPackage advisoryGHSA-wf65-4jjx-q444

    PraisonAI: PGVector and Cassandra knowledge stores interpolate vector dimensions into DDL

    osv.dev

References