Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with low-privilege WeKnora account
-
DeliverySubmit URL encoding internal IP as NAT64 IPv6
-
ExploitBypass isRestrictedIP() public-address check
-
ExecutionServer fetches internal or metadata endpoint
-
ImpactExfiltrate internal data or cloud credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated low-privilege account (PR:L) with access to the web_fetch tool or URL-based knowledge import feature. The attacker must supply a URL whose hostname resolves to a NAT64 well-known-prefix IPv6 address (64:ff9b::/96, RFC 6052) - or the deprecated IPv4-compatible ::a.b.c.d form - that embeds a restricted internal IPv4 such as a cloud metadata address (169.254.169.254) or RFC1918 host. Limiting factors: only WeKnora versions 0.2.11 through before 0.8.2 are affected; the AT:P metric reflects a required condition (the server must have a usable network path to the embedded target for the fetch to succeed); authentication is mandatory; and impact is confidentiality-only (no integrity or availability effect). Reaching cloud credentials additionally depends on the instance running in a cloud environment with an accessible metadata endpoint. |
| Impact | The vendor CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N, base 6.0, medium) describes a network-reachable but authenticated flaw whose only impact is confidentiality on the vulnerable system. The AT:P (attack requirement present) and PR:L (low-privilege authentication) signals both temper the network vector: this is not an unauthenticated internet-wide bug. No EPSS score is provided in the input, so exploitation probability cannot be quantified, and the vulnerability is not listed in CISA KEV - there is no confirmed active exploitation. The vuln.today decision label is 'this_month,' indicating a real but non-emergency remediation priority rather than act_now. The practical severity is driven by what SSRF to cloud metadata can yield: although rated confidentiality-only, reaching an endpoint like 169.254.169.254 can expose cloud credentials that enable follow-on compromise, so the downstream consequence may exceed the base score. Net assessment: a genuine, patch-this-cycle issue for operators of affected WeKnora instances, not a drop-everything emergency, but higher-impact than its 6.0 implies where the host runs in a cloud environment with a reachable metadata service. Missing data to note: no EPSS and no CVSS 3.1 vector were supplied; only the 4.0 vector is available. |
| Exploit ScenarioDerived | A low-privileged authenticated user of WeKnora submits a URL (via the web_fetch tool or URL-based knowledge import) whose host resolves to a NAT64-prefixed IPv6 address such as 64:ff9b::a9fe:a9fe, which embeds the internal IPv4 169.254.169.254. The flawed isRestrictedIP() fails to look inside the NAT64 encoding and classifies the address as public, so the server dials it and returns internal-service or cloud-metadata content to the attacker. No public exploit is identified at time of analysis; a VulnCheck advisory and a GitHub issue describe the weakness. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Server-side request forgery guard bypass in WeKnora: the isRestrictedIP()/ipclass address classifier treats NAT64-encoded IPv6 addresses (64:ff9b::/96) and deprecated IPv4-compatible ::a.b.c.d forms as ordinary public addresses, so a restricted embedded IPv4 such as 169.254.169.254 or an RFC1918 host slips past the filter. Exploitation requires an authenticated low-privilege account (PR:L) able to reach the web_fetch tool or URL-based knowledge import, and a network path from the server to the embedded target (AT:P); impact is confidentiality-only, with internal service or cloud metadata exposure but no integrity or availability effect. All versions from 0.2.11 through before 0.8.2 are affected and fixed in v0.8.2; no public exploit was identified at time of analysis, the issue carries a medium CVSS 4.0 base score of 6.0, and no CISA KEV entry exists.
RemediationAI
Upgrade to WeKnora v0.8.2, which is the vendor-released fix version (https://github.com/Tencent/WeKnora/releases/tag/v0.8.2). The two patch commits are ff818b681f10bc29edbc48fe35f00009dc276bfa (adds NAT64 and IPv4-compatible branches to _is_restricted_ip in docreader/utils/ssrf.py and repoints the Yunzhijia webhook dialer at the shared classifier) and d7ccd5ba517cc3968e6d5000a2ab0f4b51ef1dda (introduces the internal/ipclass package that decodes embedded IPv4 addresses from 6to4, Teredo, NAT64 64:ff9b::/96 and ::a.b.c.d); both are required, since the Python and Go guards are independent code paths. The vendor's own framing in the commit message is that hand-rolled per-call-site 'is this private' checks are the root cause, so operators who have locally patched or forked these files should rebase onto v0.8.2 rather than keep a one-off fix. Until an upgrade is deployed, exposure is bounded by the authenticated, low-privilege prerequisite: restricting which accounts can use the web_fetch tool and URL-based knowledge import, and refusing imports of URLs whose hostname is an IP literal, reduces the attack surface at the cost of breaking legitimate URL ingestion for those users. Deployments running in a cloud environment should also treat the metadata endpoint as reachable-by-design from the container network, since that path is what turns a successful bypass into credential disclosure; blocking egress from the WeKnora container to 169.254.169.254 at the network layer is an effective stopgap but will break any legitimate instance-metadata-dependent functionality. Vendor advisory context is available via https://www.vulncheck.com/advisories/weknora-before-0.8.2-ssrf-guard-bypass-via-nat64-ipv6-addresses.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is CWE-918 (server-side request forgery) rooted in address classification rather than in the fetch mechanism itself. WeKnora guards outbound requests in two places - a Go side under internal/utils (and previously ad-hoc checks such as internal/im/yunzhijia/url.go) and a Python side under docreader/utils/ssrf.py - and both relied on the standard library's notion of 'private'. Go's net.IP.IsPrivate() covers RFC1918 and fc00::/7 but not fec0::/10 site-local, not 100.64.0.0/10 carrier-grade NAT, and it never looks inside address encodings that carry an IPv4 payload: 6to4, Teredo, NAT64's well-known prefix 64:ff9b::/96 (RFC 6052) and the deprecated IPv4-compatible ::a.b.c.d form. Python's ipaddress module exposes is_private, sixtofour and ipv4_mapped accessors but has no equivalent for the NAT64 prefix or the ::a.b.c.d form, so ::169.254.169.254 and its NAT64 spelling read as ordinary public IPv6. The upstream fix introduces a shared internal/ipclass package (Public, Invalid, Unspecified, Loopback, Private, CGNAT, LinkLocal, Multicast, SiteLocalIPv6, Reserved, Documentation, Translated) that decodes the embedded IPv4 from 6to4, Teredo, NAT64 and IPv4-compatible addresses, and mirrors that logic in the Python docreader path so the two implementations cannot drift apart again; the fix commits also replace the hand-rolled webhook dialer check with ipclass.IsPublic. The affected CPE is cpe:2.3:a:tencent:weknora:*:*:*:*:*:*:*:*, and the assessed CVSS 3.1 vector is AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, i.e. network-reachable, unauthenticated only in the sense that no UI interaction is needed but explicitly requiring a low-privilege authenticated session, and affecting confidentiality only.
Know when Weknora gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable but needs a low-privilege account (PR:L); crafting the NAT64 URL is straightforward (AC:L); confidentiality-only SSRF data exposure, so C:H, I:N, A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
WeKnora before 0.8.2 contains a server-side request forgery vulnerability in isRestrictedIP() that misclassifies NAT64-prefixed IPv6 addresses as public. Authenticated attackers can supply URLs resolving to NAT64 encodings of internal addresses via web_fetch or URL-based knowledge import to reach internal services or cloud metadata endpoints.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
WeKnora LLM framework (before 0.2.5) allows authenticated users to inject MCP stdio commands that the server executes as
OS command injection in WeKnora from version 0.2.5 allows authenticated users to execute arbitrary system commands. CVSS
SQL injection in WeKnora LLM document understanding framework allows authenticated users to extract arbitrary database c
Insufficient authorization checks in WeKnora's tenant management endpoints allow any authenticated user to read, modify,
DNS rebinding in WeKnora's web_fetch tool allows authenticated attackers to bypass URL validation and access internal re
WeKnora's document import feature is vulnerable to Server-Side Request Forgery through HTTP redirects, allowing unauthen
WeKnora versions before 0.2.5 allow unauthenticated attackers to bypass database query restrictions through prompt injec
A security flaw has been discovered in Tencent WeKnora 0.1.0. Rated medium severity (CVSS 6.9), this vulnerability is re
Weknora versions up to 0.3.0 is affected by authorization bypass through user-controlled key (CVSS 5.3).
WeKnora's URL-based document ingestion endpoint (POST /api/v1/knowledge-bases/:id/knowledge/url) allows authenticated us
SQL injection in Tencent WeKnora through version 0.8.1 allows an authenticated, low-privileged remote attacker to bypass
Authorization bypass in Tencent WeKnora's Config API endpoint allows authenticated attackers to access unauthorized know
EUVD-2026-111552
GHSA-29gq-28qv-vr5m
NVD
CVE.org
EPSS
Exploit-DB