Skip to content

← Public intelligence

Maven package

dev.langchain4j:langchain4j-pgvector

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

1 actionable advisory, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. High, CVSS 7.6MavenPublished

    LangChain4j: SQL injection via metadata filters in langchain4j-mariadb and langchain4j-pgvector

    CVE-2026-55405 · GHSA-2mfg-cc43-9pcj

    Affected
    • Maven dev.langchain4j:langchain4j-pgvector <= 1.2.0-beta8; >= 1.3.0-beta9, <= 1.5.0-beta11; >= 1.6.0-beta12, <= 1.11.7-beta19; >= 1.12.1-beta21, <= 1.16.2-beta26
    Fixed in
    1.2.1-beta81.16.3-beta261.5.1-beta111.11.8-beta19· Vendor fix available
    Issue
    The MariaDB and pgvector embedding stores build metadata-filter SQL by string-concatenating filter keys (and, in MariaDB, string values) directly into the query without adequate escaping. A crafted metadata key in EmbeddingSearchRequest.filter() can break out of its SQL context and inject arbitrary SQL into the statements executed by the stores' search and removeAll(Filter) operations. Details pgvector — JSON mode (default, COMBINEDJSON / COMBINEDJSONB). JSONFilterMapper places the key inside a single-quoted SQL literal (the JSON key of the - operator) with no escaping: (metadata-'<key')::text A key containing a single quote breaks out, e.g. metadataKey("')::text IS NOT NULL OR pgsleep(1) IS NOT NULL --") injects a live pgsleep(1) (observable as a delay; exploitable for blind data extraction). pgvector — column mode (COLUMNPERKEY). ColumnFilterMapper used the key as a bare, unquoted, unvalidated SQL identifier (<key::<type), so a key such as 1=1 OR true -- injects directly.…

    Recommended action: Upgrade to 1.16.3-beta26 (pre-release), 1.11.8-beta19 (pre-release), 1.5.1-beta11 (pre-release) or 1.2.1-beta8 (pre-release) by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →