CVE-2026-25879 json
Langroid has Prompt to SQL Injection, Leading to RCE
published 5mo ago modified 3mo ago also EUVD-2026-33830 , GHSA-mxfr-6hcw-j9rq , PYSEC-2026-382
- cvss
- 9.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 46%
- public exploits
- 0
- none known
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.
Patch / fix
- pypi langroid 0.63.0
- langroid langroid 0.63.0
Is CVE-2026-25879 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- total
- Assessed
- 5mo ago
Exploit prediction
0.55% chance of exploitation in the next 30 days, higher than 46% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/langroid/langroid/security/advisories/GHSA-mxfr-6hcw-j9rq referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| OSV | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | langroid | <0.63.0 |
0.63.0 |
Affected products
- langroid langroid
Classification
References
-
github.com
/langroid/langroid/security/advisories/GHSA-mxfr-6hcw-j9rq
exploit, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-25879
advisory
-
github.com
/langroid/langroid
package
-
github.com
/pypa/advisory-database/tree/main/vulns/langroid/PYSEC-2026-382.yaml
web
-
pypi.org
/project/langroid
web, package
-
github.com
/advisories/GHSA-mxfr-6hcw-j9rq
advisory
Sources
- CVE List CVE-2026-25879
- GitHub Advisory GHSA-mxfr-6hcw-j9rq
- NVD CVE-2026-25879
- OSV PYSEC-2026-382
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.