Skip to main content

CowAgent CVE-2026-14714

| EUVDEUVD-2026-41729 MEDIUM
Missing Authentication for Critical Function (CWE-306)
2026-07-05 VulDB GHSA-wh4m-9grw-87fp
5.5
CVSS 4.0 · Vendor: VulDB
Share

Severity by source

Vendor (VulDB) PRIMARY
5.5 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.5 MEDIUM

Network-reachable endpoint, no privileges required, no user interaction; only low integrity and availability impact, no confidentiality loss per description.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

2
CVSS changed
Jul 05, 2026 - 06:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)
Analysis Generated
Jul 05, 2026 - 06:21 vuln.today

DescriptionCVE.org

A weakness has been identified in zhayujie chatgpt-on-wechat CowAgent 2.1.0. This issue affects the function verify_server of the file channel/wechatmp/common.py of the component wx Endpoint. This manipulation of the argument wechatmp_token causes missing authentication. The attack may be initiated remotely. The exploit has been made available to the public and could be used for attacks. Upgrading to version 2.1.1 is capable of addressing this issue. Patch name: 3d7c68bac6ee74fad63f43cf99e45c62e202ed55. It is suggested to upgrade the affected component. The project confirms: "We've added an explicit non-empty check for wechatmp_token in verify_server() so that the /wx endpoint now fails closed with 403 Forbidden whenever the token is missing or left at the default empty value, instead of relying on a signature check that silently degenerates to a predictable hash."

AnalysisAI

Missing authentication in CowAgent 2.1.0's /wx WeChat endpoint allows remote unauthenticated attackers to bypass server verification by supplying an empty or default wechatmp_token, causing the underlying HMAC signature check to silently degenerate into a predictable hash. The vendor confirms the flaw exists in verify_server() within channel/wechatmp/common.py, where no explicit non-empty token guard was enforced, making the endpoint fail open rather than closed. A public proof-of-concept exists (GitHub issue #2860), and the fix is available in version 2.1.1; no active exploitation has been confirmed by CISA KEV.

Technical ContextAI

CowAgent (cpe:2.3:a:zhayujie:chatgpt-on-wechat_cowagent:*:*:*:*:*:*:*:*) is an open-source ChatGPT-powered WeChat bot framework that exposes a /wx HTTP endpoint to handle WeChat server verification handshakes. The verification logic in channel/wechatmp/common.py::verify_server() computes an HMAC-like signature over the wechatmp_token plus WeChat-supplied parameters. CWE-306 (Missing Authentication for Critical Function) identifies the root cause: when wechatmp_token is empty or left at the default empty string, the signature computation degenerates to a predictable, attacker-reproducible hash, effectively eliminating the authentication barrier entirely. The fix in commit 3d7c68bac6ee74fad63f43cf99e45c62e202ed55 adds an explicit non-empty check before any signature evaluation, returning HTTP 403 Forbidden when the token is absent or empty.

RemediationAI

Upgrade to CowAgent version 2.1.1 immediately; this is the vendor-released patch confirmed at commit 3d7c68bac6ee74fad63f43cf99e45c62e202ed55 (https://github.com/zhayujie/CowAgent/commit/3d7c68bac6ee74fad63f43cf99e45c62e202ed55) and release tag https://github.com/zhayujie/CowAgent/releases/tag/2.1.1. If an immediate upgrade is not feasible, as a partial compensating control ensure wechatmp_token is set to a long, random, non-empty secret value in the application configuration - this makes the degenerate hash unpredictable and significantly raises the exploitation bar, though it does not eliminate the underlying code flaw and should not substitute for patching. Additionally, restrict access to the /wx endpoint at the network or reverse-proxy layer to known WeChat server IP ranges, reducing the attack surface while the patch is applied. VulDB advisory is available at https://vuldb.com/cve/CVE-2026-14714.

Share

CVE-2026-14714 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy