CVE-2026-55405

HIGHPre-NVD 7.67.6
EchelonGraph scoreLOW confidence

This high-severity CVE scores 7.6 under the CNA's CVSS (NVD's own analysis pending). EPSS exploit-prediction score not yet available (the EPSS model rescores nightly; freshly-published CVEs typically appear within 48 hours). GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: cna:github_m
7.6
EchelonGraph verdictPlan a fixSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS: CVSS: 7.6Exploit: NoneExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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

Summary

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, COMBINED_JSON / COMBINED_JSONB). JSONFilterMapper places the key inside a single-quoted SQL literal (the JSON key of the ->> operator) with no escaping:

(metadata->>'')::text

A key containing a single quote breaks out, e.g. metadataKey("')::text IS NOT NULL OR pg_sleep(1) IS NOT NULL --") injects a live pg_sleep(1) (observable as a delay; exploitable for blind data extraction).

pgvector — column mode (COLUMN_PER_KEY). ColumnFilterMapper used the key as a bare, unquoted, unvalidated SQL identifier (::), so a key such as 1=1 OR true -- injects directly.

MariaDB — JSON mode (default). JSONFilterMapper placed the key inside the JSON path literal '$.' unescaped (same break-out mechanism). Additionally, MariaDbFilterMapper.formatValue() escaped ' but not \; because MariaDB treats backslash as an escape character by default, a string value ending in a backslash could also break out of its literal.

MariaDB — column mode (COLUMN_PER_KEY). ColumnFilterMapper fell back to the raw, unescaped key when the driver could not quote it as an identifier (e.g. a character).

The filter key is the runtime injection surface; both stores' search() (including pgvector's HYBRID mode) and removeAll(Filter) are affected. Add/upsert operations a parameterized and not affected.

Impact

Applications that allow attacker-influenced metadata filter keys (e.g. use LLM-generated filters) to reach these stores are exposed to SQL injection: blind data exfiltration, denial of service via sleep functions, and — through remove deletion of arbitrary rows. Applications using only hard-coded, developer-defined filter keys are not reachable.

Patches

Fixed in
langchain4j-mariadb and langchain4j-pgvector 1.16.3-beta26:
  • JSON filter keys are escaped before being embedded in the SQL string lit
quotes doubled, correct for PostgreSQL
standard_conforming_strings = on; MariaDB: backslash and single quote).
  • MariaDB string values escape both \ and '.
  • Column-mode keys are validated/quoted as identifiers and rejected when u
concatenated as raw SQL.

Workarounds

  • Do not pass untrusted input as metadata filter keys.
  • Restrict filter keys to a known allow-list at the application layer.

References

  • pgvector: JSONFilterMapper, ColumnFilterMapper
  • MariaDB: JSONFilterMapper, MariaDbFilterMapper, ColumnFilterMapper`

CVSS v3
7.6
EG Score
7.6(low)
EPSS
KEV
Not listed

Published

June 17, 2026

Last Modified

June 17, 2026

Vendor Advisories for CVE-2026-55405(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(2 across 1 ecosystem)
Maven(2)
PackageVulnerable rangeFixed inDependents
dev.langchain4j:langchain4j-mariadb1.12.1-beta21 ... 1.16.2-beta26 (11 versions)1.16.3-beta26
dev.langchain4j:langchain4j-pgvector1.12.1-beta21 ... 1.16.2-beta26 (11 versions)1.16.3-beta26

Data Freshness Timeline

(refreshed 14× in last 7d / 39× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-07-07 02:20 UTCEG score recompute
  2. 2026-07-06 14:07 UTCEG score recompute
  3. 2026-07-06 01:55 UTCEG score recompute
  4. 2026-07-05 13:48 UTCEG score recompute
  5. 2026-07-05 01:41 UTCEG score recompute
  6. 2026-07-04 13:31 UTCEG score recompute
  7. 2026-07-04 01:24 UTCEG score recompute
  8. 2026-07-03 13:17 UTCEG score recompute
  9. 2026-07-03 01:10 UTCEG score recompute
  10. 2026-07-02 13:02 UTCEG score recompute
  11. 2026-07-02 00:52 UTCEG score recompute
  12. 2026-07-01 12:45 UTCEG score recompute
  13. 2026-07-01 00:38 UTCEG score recompute
  14. 2026-06-30 12:30 UTCEG score recompute
  15. 2026-06-30 00:17 UTCEG score recompute
  16. 2026-06-29 12:10 UTCEG score recompute
  17. 2026-06-29 00:02 UTCEG score recompute
  18. 2026-06-28 11:55 UTCEG score recompute
  19. 2026-06-27 23:49 UTCEG score recompute
  20. 2026-06-27 11:42 UTCEG score recompute
  21. 2026-06-26 23:34 UTCEG score recompute
  22. 2026-06-26 11:28 UTCEG score recompute
  23. 2026-06-25 21:10 UTCEG score recompute
  24. 2026-06-25 09:02 UTCEG score recompute
  25. 2026-06-24 20:55 UTCEG score recompute
Show 14 more
  1. 2026-06-24 08:49 UTCEG score recompute
  2. 2026-06-23 20:42 UTCEG score recompute
  3. 2026-06-23 08:30 UTCEG score recompute
  4. 2026-06-22 20:23 UTCEG score recompute
  5. 2026-06-22 08:12 UTCEG score recompute
  6. 2026-06-21 20:05 UTCEG score recompute
  7. 2026-06-21 07:55 UTCEG score recompute
  8. 2026-06-20 19:40 UTCEG score recompute
  9. 2026-06-20 07:25 UTCEG score recompute
  10. 2026-06-19 19:15 UTCEG score recompute
  11. 2026-06-19 07:08 UTCEG score recompute
  12. 2026-06-18 19:02 UTCEG score recompute
  13. 2026-06-18 06:53 UTCEG score recompute
  14. 2026-06-17 18:44 UTCEG score recompute

Frequently asked(4)

What is CVE-2026-55405?
CVE-2026-55405 is a high vulnerability published on June 17, 2026. LangChain4j: SQL injection via metadata filters in langchain4j-mariadb and langchain4j-pgvector Summary 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…
When was CVE-2026-55405 disclosed?
CVE-2026-55405 was first published in the National Vulnerability Database on June 17, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
What is the CVSS score of CVE-2026-55405?
CVE-2026-55405 has a CVSS v4.0 base score of 7.6 (CNA self-assessment; NVD's own analysis pending). The EG score is currently aggregating — additional source signals are being incorporated as they become available..
How do I remediate CVE-2026-55405?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-55405, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-55405

Explore →

Is Your Infrastructure Affected by CVE-2026-55405?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.