CVE-2026-30860 is a critical SQL injection flaw (CVSS 9.9) in Tencent WeKnora before 0.2.12. A validation gap in the database query feature can lead to arbitrary code execution on the database server. The fix is in WeKnora 0.2.12, so upgrade now.
What's affected
WeKnora, an LLM powered framework for deep document understanding and semantic retrieval, is affected in versions before 0.2.12. The patched version is 0.2.12.
How to check if you're exposed
Find the version of WeKnora you deploy. For a container deployment, list the running image tags:
docker ps --format '{{.Names}} {{.Image}}'
If you build from source, check the release tag or commit you deployed and compare it with 0.2.12. The advisory is the place to confirm anything about your exact deployment.
What to do now
- Upgrade WeKnora to 0.2.12 or later and redeploy every instance.
- Run the database behind WeKnora with the least privilege that works. The record says code runs with the database user's privileges, so a tightly scoped account limits the damage.
- Keep the database server off the public network and restrict which hosts can reach it.
- Review database logs for unexpected use of large object operations or library loading functions.
Why it matters
The weakness class is CWE-89, SQL injection. WeKnora checks queries before running them, but the check did not look recursively inside PostgreSQL array expressions and row expressions. Dangerous functions placed in those child nodes were never inspected, so the filter could be bypassed.
The record describes chaining the bypass with large object operations and library loading to reach code execution on the database server. The CVSS vector marks a changed scope, which reflects impact beyond the application itself. The record does not flag this CVE as listed in CISA's Known Exploited Vulnerabilities catalog.
Try it yourself
Click through it at your own pace, or open it full screen.
Quick check
Is this only an application bug, or does it reach the host?
The record says it can give arbitrary code execution on the database server with the database user's privileges, so treat it as a host level risk.
What does a recursive check mean here?
A filter that only looks at the top of a query tree can miss risky calls nested deeper. The fix has to walk every child node.
Sources
Last reviewed: 19 October 2026.