Langroid has Prompt to SQL Injection, Leading to RCE
Langroid is a framework for building large-language-model-powered applications. Prior to version 0.63.0, SQLChatAgent executes SQL produced by an LLM, which is influenceable by prompt injection. When configured with a database role that has privileges enabling code execution or filesystem access (e.g., PostgreSQL pg_execute_server_program, MySQL FILE, MSSQL xp_cmdshell), an attacker who can shape the agent's input — including indirectly via data returned to the LLM — can coerce execution of dialect-specific primitives such as `COPY ... FROM PROGRAM`, achieving RCE on the database host. Fixed in v0.63.0 by defaulting SQLChatAgent to a SELECT-only sqlglot-parsed statement allowlist with a dialect-aware dangerous-pattern blocklist; allow_dangerous_operations=True restores the previous unrestricted behavior for trusted deployments.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-25879
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 05:13 UTC · Revision 1
Source evidence
Langroid has Prompt to SQL Injection, Leading to RCE
core-osv · Original sourcePublished 1 Jun 2026, 22:27 UTC
Langroid is a framework for building large-language-model-powered applications. Prior to version 0.63.0, SQLChatAgent executes SQL produced by an LLM, which is influenceable by prompt injection. When configured with a database role that has privileges enabling code execution or filesystem access (e.g., PostgreSQL pg_execute_server_program, MySQL FILE, MSSQL xp_cmdshell), an attacker who can shape the agent's input — including indirectly via data returned to the LLM — can coerce execution of dialect-specific primitives such as `COPY ... FROM PROGRAM`, achieving RCE on the database host. Fixed in v0.63.0 by defaulting SQLChatAgent to a SELECT-only sqlglot-parsed statement allowlist with a dialect-aware dangerous-pattern blocklist; allow_dangerous_operations=True restores the previous unrestricted behavior for trusted deployments.
osv:CVE-2026-25879
Complete source record
{
"id": "cee1fb725017a2eb74d7cc9f8b928bab8be0f688b413b282215eac00967443c6",
"url": "https://osv.dev/vulnerability/CVE-2026-25879",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Langroid has Prompt to SQL Injection, Leading to RCE",
"summary": "Langroid is a framework for building large-language-model-powered applications. Prior to version 0.63.0, SQLChatAgent executes SQL produced by an LLM, which is influenceable by prompt injection. When configured with a database role that has privileges enabling code execution or filesystem access (e.g., PostgreSQL pg_execute_server_program, MySQL FILE, MSSQL xp_cmdshell), an attacker who can shape the agent's input — including indirectly via data returned to the LLM — can coerce execution of dialect-specific primitives such as `COPY ... FROM PROGRAM`, achieving RCE on the database host. Fixed in v0.63.0 by defaulting SQLChatAgent to a SELECT-only sqlglot-parsed statement allowlist with a dialect-aware dangerous-pattern blocklist; allow_dangerous_operations=True restores the previous unrestricted behavior for trusted deployments.",
"evidence": "osv:CVE-2026-25879",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2026-25879",
"aliases": [
"CVE-2026-25879",
"GHSA-mxfr-6hcw-j9rq",
"PYSEC-2026-382"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/langroid/langroid",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "fee670d502ed6d82b8414388bd137a315830331f"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "0.63.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "0"
},
{
"fixed": "0.63.0"
}
],
"source": "DESCRIPTION"
}
]
}
}
],
"versions": [
"0.62.0",
"0.61.1",
"0.61.0",
"0.60.3",
"0.60.2",
"0.60.1",
"0.60.0",
"0.59.39",
"0.59.38",
"0.59.37",
"0.59.36",
"0.59.35",
"0.59.34",
"0.59.33",
"0.59.32",
"0.59.31",
"0.59.30",
"0.59.29",
"0.59.28",
"0.59.27",
"0.59.26",
"0.59.25",
"0.59.24",
"0.59.23",
"0.59.22",
"0.59.21",
"0.59.20",
"v0.59.19",
"0.59.19",
"0.59.18",
"0.59.17",
"0.59.16",
"0.59.15",
"0.59.14",
"0.59.13",
"0.59.12",
"0.59.11",
"0.59.10",
"0.59.9",
"0.59.8",
"0.59.7",
"0.59.6",
"0.59.5",
"0.59.4",
"0.59.3",
"0.59.2",
"0.59.1",
"v0.59.0",
"0.59.0",
"0.58.3",
"0.58.2",
"0.58.1",
"0.58.0",
"0.57.0",
"0.56.19",
"0.56.18",
"0.56.17",
"0.56.16",
"0.56.15",
"0.56.14",
"0.56.13",
"0.56.12",
"0.56.11",
"0.56.10",
"0.56.9",
"0.56.8",
"0.56.7",
"0.56.6",
"0.56.5",
"0.56.4",
"0.56.3",
"0.56.2",
"0.56.1",
"0.56.0",
"0.55.1",
"0.55.0",
"0.54.2",
"0.54.1",
"0.54.0",
"0.53.16",
"0.53.15",
"0.53.14",
"0.53.13",
"0.53.12",
"0.53.10",
"0.53.9",
"0.53.8",
"0.53.7",
"0.53.6",
"0.53.5",
"0.53.4",
"0.53.3",
"0.53.2",
"0.52.9",
"0.52.8",
"0.52.7",
"0.52.6",
"0.52.5",
"0.52.3",
"0.52.2",
"0.52.1",
"0.52.0",
"0.51.2",
"0.51.1",
"0.51.0",
"0.50.12",
"0.50.11",
"0.50.10",
"0.50.9",
"0.50.8",
"0.50.7",
"0.50.6",
"0.50.5",
"0.50.4",
"0.50.3",
"0.50.2",
"0.50.1",
"0.50.0",
"0.49.1",
"0.49.0",
"0.48.3",
"0.48.2",
"0.48.1",
"0.48.0",
"0.47.2",
"0.47.1",
"0.47.0",
"0.45.10",
"0.45.9",
"0.45.8",
"0.45.7",
"0.45.6",
"0.45.5",
"0.45.4",
"0.45.3",
"0.45.2",
"0.45.1",
"0.45.0",
"0.44.1",
"0.44.0",
"0.43.1",
"0.43.0",
"0.42.10",
"0.42.9",
"0.42.8",
"0.42.7",
"0.42.6",
"0.42.5",
"0.42.4",
"0.42.3",
"0.42.2",
"0.42.1",
"0.42.0",
"0.41.5",
"0.41.4",
"0.41.3",
"0.41.2",
"0.41.1",
"0.41.0",
"0.40.0",
"0.39.5",
"0.39.4",
"0.39.3",
"0.39.2",
"0.39.1",
"0.39.0",
"0.38.0",
"0.37.7",
"0.37.6",
"0.37.5",
"0.37.4",
"0.37.3",
"0.37.2",
"0.37.1",
"0.37.0",
"0.36.1",
"0.36.0",
"0.35.1",
"0.35.0",
"0.34.1",
"0.34.0",
"0.33.13",
"0.33.12",
"0.33.11",
"0.33.10",
"0.33.9",
"0.33.8",
"0.33.7",
"0.33.6",
"0.33.5",
"0.33.4",
"0.33.3",
"0.33.2",
"0.33.0",
"0.32.2",
"0.32.1",
"0.32.0",
"0.31.3",
"0.31.2",
"0.31.1",
"0.31.0",
"0.30.1",
"0.30.0",
"0.29.0",
"0.28.7",
"0.28.6",
"0.28.5",
"0.28.4",
"0.28.3",
"0.28.2",
"0.28.1",
"0.28.0",
"0.27.4",
"0.27.3",
"0.27.2",
"0.27.1",
"0.27.0",
"0.26.2",
"0.26.1",
"0.26.0",
"0.25.0",
"0.24.1",
"0.24.0",
"0.23.3",
"0.23.2",
"0.23.1",
"0.23.0",
"0.22.7",
"0.22.6",
"0.22.5",
"0.22.4",
"0.22.3",
"0.22.2",
"0.22.1",
"0.22.0",
"0.21.0",
"0.20.1",
"0.20.0",
"0.19.5",
"0.19.4",
"0.19.3",
"0.19.2",
"0.19.1",
"0.19.0",
"0.18.3",
"0.18.2",
"0.18.1",
"0.18.0",
"0.17.1",
"0.17.0",
"0.16.7",
"0.16.6",
"0.16.5",
"0.16.4",
"0.16.3",
"0.16.2",
"0.16.1",
"0.16.0",
"0.15.2",
"0.15.1",
"0.15.0",
"0.14.0",
"0.13.0",
"0.12.0",
"0.11.0",
"0.10.1",
"0.10.0",
"0.9.5",
"0.9.4",
"0.9.3",
"0.9.2",
"0.9.1",
"0.8.0",
"0.7.0",
"0.6.7",
"0.6.6",
"0.6.5",
"0.6.4",
"0.6.3",
"0.6.2",
"0.6.1",
"0.6.0",
"0.5.1",
"0.5.0",
"0.4.0",
"0.3.1",
"0.2.12",
"0.2.11",
"0.2.9",
"0.2.8",
"0.2.7",
"0.2.4",
"0.2.3",
"0.2.2",
"0.1.265",
"0.1.262",
"0.1.261",
"0.1.258",
"0.1.256",
"0.1.254",
"0.1.253",
"0.1.251",
"0.1.250",
"0.1.248",
"0.1.247",
"0.1.246",
"0.1.245",
"0.1.244",
"0.1.243",
"0.1.242",
"0.1.241",
"0.1.240",
"0.1.239",
"0.1.238",
"0.1.237",
"0.1.236",
"0.1.235",
"0.1.234",
"0.1.233",
"0.1.232",
"0.1.231",
"0.1.230",
"0.1.229",
"0.1.228",
"0.1.227",
"0.1.226",
"0.1.225",
"0.1.224",
"0.1.222",
"0.1.221",
"0.1.219",
"0.1.218",
"0.1.217",
"0.1.216",
"0.1.214",
"0.1.213",
"0.1.212",
"0.1.210",
"0.1.209",
"0.1.208",
"0.1.207",
"0.1.206",
"0.1.205",
"0.1.203",
"0.1.202",
"0.1.201",
"0.1.200",
"0.1.199",
"0.1.198",
"0.1.196",
"0.1.194",
"0.1.192",
"0.1.191",
"0.1.186",
"0.1.189",
"0.1.188",
"0.1.185",
"0.1.184",
"0.1.183",
"0.1.181",
"0.1.180",
"0.1.179",
"0.1.178",
"0.1.177",
"0.1.176",
"0.1.173",
"0.1.172",
"0.1.171",
"0.1.170",
"0.1.169",
"0.1.168",
"0.1.167",
"0.1.166",
"0.1.165",
"0.1.164",
"0.1.162",
"0.1.161",
"0.1.160",
"0.1.159",
"0.1.158",
"0.1.155",
"0.1.153",
"0.1.152",
"0.1.151",
"0.1.150",
"0.1.149",
"0.1.148",
"0.1.147",
"0.1.146",
"0.1.144",
"0.1.143",
"0.1.142",
"0.1.140",
"0.1.139",
"0.1.138",
"0.1.137",
"0.1.136",
"0.1.135",
"0.1.134",
"0.1.133",
"0.1.132",
"0.1.131",
"0.1.130",
"0.1.128",
"0.1.127",
"0.1.124",
"0.1.122",
"0.1.120",
"0.1.119",
"0.1.118",
"0.1.116",
"0.1.113",
"0.1.110",
"0.1.109",
"0.1.107",
"0.1.106",
"0.1.104",
"0.1.103",
"0.1.101",
"0.1.100",
"0.1.99",
"0.1.98",
"0.1.97",
"0.1.96",
"0.1.94",
"0.1.92",
"0.1.90",
"0.1.89",
"0.1.87",
"0.1.86",
"0.1.84",
"0.1.83",
"0.1.82",
"0.1.81",
"0.1.73",
"0.1.69",
"0.1.66",
"0.1.64",
"0.1.62",
"0.1.61",
"0.1.55",
"0.1.54",
"0.1.52",
"0.1.50",
"0.1.49",
"0.1.48",
"0.1.47",
"0.1.46",
"0.1.43",
"0.1.42",
"0.1.38",
"0.1.36",
"0.1.35",
"0.1.34",
"0.1.33",
"0.1.32",
"0.1.31",
"0.1.30",
"0.1.29",
"0.1.28",
"0.1.27",
"0.1.25",
"0.1.24",
"0.1.23",
"0.1.22",
"0.1.21",
"0.1.20",
"0.1.18",
"0.1.17",
"0.1.16"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-25879.json"
}
}
],
"modified": "2026-10-28T02:30:33.400199269Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25879.json",
"https://github.com/langroid/langroid/security/advisories/GHSA-mxfr-6hcw-j9rq",
"https://nvd.nist.gov/vuln/detail/CVE-2026-25879"
],
"provider_metadata": {
"cwe_ids": [
"CWE-89",
"CWE-94"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25879.json"
}
},
"related_cves": [
{
"value": "CVE-2026-25879",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 500452,
"published_at": "2026-06-01T22:27:13.071+00:00"
}