Skip to main content

Xianyu Auto Reply Fix CVE-2026-118691

| EUVDEUVD-2026-112492 MEDIUM
Initialization of a Resource with an Insecure Default (CWE-1188)
2026-10-28 VulnCheck GHSA-8xg3-rxxw-rm99
6.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain target merchant's cookie_id
  2. Exploit
    Craft POST /send-message with public default api_key
  3. Execution
    Bypass missing authorization check (CWE-1188)
  4. Impact
    Send spoofed messages to merchant's buyers

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V13 - Configuration Secure default settings
Exploitation Conditions

Three concrete prerequisites must hold: (1) the POST /send-message endpoint is network-reachable; (2) the target instance is running a pre-patch version (≤2.0.7) where the QQ/API send secret is unset or left at one of the published default/test values ('xianyu_qq_reply_2024', 'xianyu_api_secret_2024', 'zhinina_test_key'), since the vulnerable code fell back to the hard-coded API_SECRET_KEY when no secret was configured; and (3) the attacker must know a valid cookie_id for the specific merchant account they want to impersonate - this account-specific identifier is the AT:P requirement and is the main factor limiting mass exploitation. Impact is limited to sending messages (integrity) from the merchant to buyers; no data is read and no code is executed. The fix disables the endpoint by default and additionally requires the owning user's login credential (HTTP 401 if missing/invalid, 403 if the account is not owned by the caller), so patched/properly-configured deployments are not exploitable this way.

Impact

This is a genuine but medium-tier issue, not a top-priority emergency. The input CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N) scores 6.3 and shows integrity-only impact (VI:L) with no confidentiality or availability effect - consistent with the description, which is about sending spoofed messages, not code execution or data theft. The PR:N reflects that authentication is effectively defeated by publicly known hard-coded default API secrets (confirmed in the source: 'xianyu_qq_reply_2024', 'xianyu_api_secret_2024', 'zhinina_test_key'), while AT:P reflects a real prerequisite: the attacker must supply a valid cookie_id belonging to the target merchant account. No EPSS score and no CISA KEV status were provided, and the input does not confirm working public exploit code, so there is no evidence of active or widespread exploitation. The vuln.today decision label is 'this_month' (not 'act_now'/'emergency'), aligning with a patch-promptly-but-not-drop-everything posture. The dominant risk driver is the trivially public default secret combined with a missing authorization check (CWE-1188); the main mitigating factors are the limited integrity-only impact and the obscure, small-footprint nature of the affected product.

Exploit ScenarioDerived

An attacker who learns or enumerates a target merchant's cookie_id sends an unauthenticated POST /send-message request using the publicly known hard-coded api_key, causing the server to send arbitrary Xianyu messages to that merchant's buyers from the merchant's account - useful for scams, phishing, or reputation damage. The input does not confirm working public exploit code, but the default secrets are published in the project source, so reproduction is straightforward for anyone with a valid target cookie_id.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

Missing authorization in the POST /send-message endpoint of xianyu-auto-reply-fix through 2.0.7 lets unauthenticated remote attackers send arbitrary Xianyu messages to buyers from another merchant's account by supplying a published default/test API secret plus that account's cookie_id along with chosen chat_id, to_user_id and message values. Exploitation is gated by three conditions: the endpoint must be reachable, the instance must still be running a pre-patch build with the send secret unset or left at one of the published defaults ('xianyu_qq_reply_2024', 'xianyu_api_secret_2024', 'zhinina_test_key'), and the attacker must know a valid account-specific cookie_id, which limits mass exploitation. Impact is confined to message integrity - no data is read and no code is executed - yielding an assessed CVSS 3.1 score of AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N; no public exploit code has been identified at time of analysis, and the vendor has published an upstream fix commit.

RemediationAI

Deploy the upstream fix, commit 999cfe61c401322d9893eb81ad1a76beabba6cfb (https://github.com/GuDong2003/xianyu-auto-reply-fix/commit/999cfe61c401322d9893eb81ad1a76beabba6cfb); a tagged release version shipping this commit is not confirmed in the available data, so verify the commit or a post-2.0.7 build is present. After upgrading, POST /send-message is disabled by default: an administrator must generate a random secret in the web console's 'API安全设置' and callers must send Authorization: Bearer <the owning user's login credential> together with api_key, cookie_id, chat_id, to_user_id and message, expecting HTTP 401 for missing/expired credentials and HTTP 403 for accounts the caller does not own; the upgrade automatically blanks the three previously published default/test secrets while preserving custom ones, so legacy QQ/API integrations must be reconfigured. If upgrading immediately is not possible, block POST /send-message at the reverse proxy or firewall and restrict it to trusted integration hosts (trade-off: external QQ/API automations stop working), and replace the seeded 'qq_reply_secret_key' in system_settings with a long random value - clearing the value to empty does not help on vulnerable builds, because an empty or unreadable setting triggers the hard-coded API_SECRET_KEY fallback; note that a custom secret only closes the public-default path and does not add the per-user ownership check, so account cookie_ids must still be treated as sensitive.

Affected VersionsENISA

xianyu-auto-reply-fix 0 ≤2.0.7

Affected Packages

euvd xianyu_auto_reply_fix no fix

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 affected component is a Python/FastAPI service (reply_server.py) that exposes an automation bridge for Xianyu merchant accounts. The root cause is CWE-1188 (Insecure Default Initialization of Resource): db_manager.init_db seeded a 'qq_reply_secret_key' setting with the publicly known value 'xianyu_qq_reply_2024', while the code additionally carried a hard-coded module constant API_SECRET_KEY = 'xianyu_api_secret_2024' used as a fallback whenever the database setting was empty or the lookup raised an exception, and a third literal 'zhinina_test_key' was special-cased to return success without further checks. Because the api_key comparison used a plain equality check and the handler never resolved the caller identity or verified that the supplied cookie_id belonged to the caller, anyone who knew the default secret and a target cookie_id could drive the message-sending path the same way a legitimate integration would. The upstream fix (commit 999cfe61c401322d9893eb81ad1a76beabba6cfb) removes the fallback constant, rejects requests when the secret is unset/blank/unreadable or matches any of the three historic insecure values, switches to hmac.compare_digest, disables the endpoint by default, adds a get_current_user dependency requiring the owning user's login credential (HTTP 401 on missing/invalid, HTTP 403 when the account is not owned by the caller), and enforces account ownership before blacklist lookups, instance resolution and sending; migrations also blank the legacy public secrets in system_settings. One input tag labels this issue RCE, but the assessed impact and the code path only support sending messages as the merchant account. CPE cpe:2.3:a:gudong2003:xianyu-auto-reply-fix identifies the affected package, though it carries no version granularity.

Know when Xianyu Auto Reply Fix 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

Vendor (VulnCheck) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 3.7 LOW

Public default secret defeats auth (PR:N); knowing the target's specific cookie_id is a condition outside attacker control (AC:H); impact is spoofed-message integrity only (I:L), with no confidentiality or availability effect.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

xianyu-auto-reply-fix through 2.0.7 contains a missing authorization vulnerability in the POST /send-message endpoint that allows unauthenticated attackers to send messages from other users' accounts using publicly known default API secrets. Attackers can supply the hard-coded api_key and another user's cookie_id, plus chosen chat_id, to_user_id and message values, to send arbitrary Xianyu messages to buyers from that merchant account.

Threat Intelligence Overview

Prevalence
Rare
niche single-author open-source self-hosted Xianyu auto-reply tool, tiny footprint
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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