CVE-2026-54760: Langroid: SQLChatAgent dangerous-function blocklist can be bypassed with quoted or schema-qualified pg_read_file calls
Langroid is a framework for building large-language-model-powered applications. Prior to version 0.65.1, the `SQLChatAgent` SQL-injection mitigation, with default `allow_dangerous_operations=False`, combines a raw-text regex blocklist (`_DANGEROUS_SQL_PATTERNS`) with a `sqlglot` SELECT-only statement allowlist. The blocklist entries that target callable functions require the function name to be immediately followed by `\s*\(`. PostgreSQL accepts the same call with the name separated from `(` by a quoted identifier, an inline comment, or schema qualification. These forms evade the regex, still parse as `SELECT`, and execute the same PostgreSQL function. This restores the `pg_read_file` server-side file-read primitive that the prior CVE-2026-25879 / GHSA-pmch-g965-grmr fix was meant to block: the parent advisory fixed a missing `pg_read_file` blocklist entry, while this report shows that the added regex is bypassable. Version 0.65.1 fixes the issue.
Security readout for executives and security teams
Plain-English summary
Langroid applications using SQLChatAgent before 0.65.1 may fail to block dangerous PostgreSQL file-read functions. An attacker-controlled query path could bypass the intended protection and reach server-side file access. The vendor states version 0.65.1 fixes the issue.
Executive priority
Prioritize remediation because the issue can undermine a security control around AI-assisted SQL and expose sensitive server-side files. Internet-facing or user-driven agent workflows should be upgraded first.
Technical view
The default SQLChatAgent mitigation used regex blocklists plus a sqlglot SELECT-only allowlist. Function patterns required the function name immediately before parentheses. PostgreSQL syntax variants with quoting, comments, or schema qualification could evade the regex while still parsing as SELECT, restoring pg_read_file exposure.
Likely exposure
Likely exposure is Langroid versions below 0.65.1 using SQLChatAgent, especially where untrusted input can influence SQL generated or checked for PostgreSQL. Sources do not identify other products or non-PostgreSQL impact.
Exploitation context
The CVE record marks high impact and low attack complexity. The source bundle reports KEV false and provides no evidence of active exploitation in the wild. Treat exploit status as unconfirmed, not absent.
Researcher notes
This is a bypass of a prior blocklist-based fix, not a new affected product claim. The key weakness is syntax normalization mismatch: PostgreSQL accepts equivalent callable forms that the raw regex did not catch before sqlglot allowed SELECT statements.
Mitigation direction
Upgrade Langroid to version 0.65.1 or later.
Review the GitHub advisory for vendor-specific guidance.
Restrict SQLChatAgent access from untrusted inputs until upgraded.
Use least-privilege PostgreSQL roles for application database access.
Remove unnecessary server file-read privileges from application roles.
Validation and detection
Inventory Langroid versions and flag anything below 0.65.1.
Identify SQLChatAgent deployments connected to PostgreSQL.
Confirm default or custom dangerous-operation settings in affected services.
Review logs for unexpected file-read function references.
Retest after upgrade using vendor-safe regression coverage.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-22: File access and web shell behavior lookup
File traversal and upload weaknesses can lead teams to review file, web shell, execution, and collection telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Injection into data stores can inform collection, data access, and exfiltration detection reviews. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
2Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-22 · source CWE mapping
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.