Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privileged authenticated session
-
ExploitPOST to /sys/api/sendBusTemplateAnnouncement with forged fromUser
-
ExecutionBypass missing authorization check
-
ImpactBroadcast spoofed announcement via WebSocket/DingTalk/WeCom/Feishu/UniPush
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated session on JeecgBoot (CVSS PR:L); the attacker must be able to reach the POST /sys/api/sendBusTemplateAnnouncement endpoint and supply templateCode, toUser and a forged fromUser. No user interaction is needed and default configurations are affected because the endpoint lacks an authorization check. The primary limiting factor is that the attacker needs any low-privileged account - so risk is materially higher where self-registration or broad user access is enabled, and lower where accounts are tightly controlled; at least one notification channel (WebSocket, DingTalk, WeCom, Feishu or UniPush) must be configured for messages to be delivered. Impact is limited to spoofed/unauthorized notifications (integrity), not data disclosure or service disruption. |
| Impact | This is a genuine but moderate-priority issue - a medium-severity broken access control flaw, not a critical RCE. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N, 5.3) is internally consistent with the description: network-reachable, low attack complexity, but requires an authenticated low-privileged account (PR:L) and yields only a Low integrity impact (VI:L) with no confidentiality or availability impact. Publicly available exploit code exists (github-poc, reported by VulnCheck), which raises practical exploitability, but there is NO EPSS score, NO SSVC decision data, and NO CISA KEV listing provided - so there is no evidence of active exploitation, and 'no public exploit identified' does not apply here because a POC is present. The limiting factor is authentication: because exploitation requires any valid logged-in account, this is most dangerous in multi-tenant or self-registration deployments where low-privileged accounts are easy to obtain. Net: real and POC-backed, but the authentication requirement and integrity-only, notification-spoofing impact keep it well below a drop-everything priority. No conflicting signals were detected between the CVSS vector and the description - both agree the attacker must be authenticated. |
| Exploit ScenarioDerived | A low-privileged authenticated user (or an attacker who self-registers an account) sends a crafted POST request to /sys/api/sendBusTemplateAnnouncement specifying a templateCode, a target toUser, and a forged fromUser, causing the platform to deliver a spoofed system announcement to arbitrary users across WebSocket, DingTalk, WeCom, Feishu and UniPush. A public POC (poc_sys_api_send_bus_template_announcement.py) exists, lowering the bar to reproduce. Because the forged fromUser lets the message impersonate a trusted sender, the practical risk is social-engineering/phishing delivered through the application's own trusted notification channels. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
Missing authorization in JeecgBoot through 3.9.5 lets any authenticated user publish templated system announcements to arbitrary recipients via POST /sys/api/sendBusTemplateAnnouncement. A low-privileged attacker can supply templateCode, toUser and a forged fromUser to push spoofed notifications through WebSocket, DingTalk, WeCom, Feishu and UniPush channels, an integrity-only impact (CVSS 5.3, CWE-862) that requires a valid session but no user interaction. Publicly available exploit code exists, though no active exploitation has been confirmed (the issue is not listed in CISA KEV).
RemediationAI
Patch status is not independently confirmed from the available data, and no fixed release version is identified; the upstream code reference still shows the vulnerable handler, so treat 3.9.5 and earlier as unfixed. The primary remediation is to add an explicit authorization/role check in SystemApiController for the sendBusTemplateAnnouncement action (restrict it to administrator or dedicated service accounts) and to upgrade as soon as a vendor release addressing the issue appears. Where an immediate code fix is not possible, block or deny external access to POST /sys/api/sendBusTemplateAnnouncement at the reverse proxy or WAF while allowing only trusted internal callers - the trade-off is that legitimate automation using that endpoint will break unless exempted by source IP. Additionally, tighten self-registration and account provisioning so untrusted users cannot obtain the low-privileged session the attack requires, and if announcement delivery is not a business need, disable the DingTalk, WeCom, Feishu and UniPush notification channels and outbound WebSocket announcement delivery to remove the impact path entirely. Review logs for anomalous announcement dispatches with unexpected fromUser values. Reference materials: https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-sys-api-sendbustemplateannouncement and the public proof-of-concept at https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_sys_api_send_bus_template_announcement.py.
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
JeecgBoot is a Spring Boot-based low-code development platform, and the flaw is a classic CWE-862 Missing Authorization condition in SystemApiController.java (the vulnerable handler is referenced at lines 72-75 of the upstream source). The /sys/api/ namespace exists to service internal, programmatically consumed endpoints, but the sendBusTemplateAnnouncement action performs no role or permission check beyond being reachable by an authenticated caller, so any account can invoke a privileged messaging capability. The announcement is rendered from a server-side template identified by templateCode and dispatched to a caller-supplied toUser list, with a caller-controlled fromUser header that enables sender spoofing; delivery fans out to WebSocket sessions and to third-party notification integrations (DingTalk, WeCom, Feishu, UniPush). The CPE wildcard cpe:2.3:a:jeecgboot:jeecgboot:*:*:*:*:*:*:*:* reflects that all releases up to and including 3.9.5 are affected, and the independent assessment (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N) confirms a remote, low-privilege, no-interaction integrity defect rather than an RCE or data-exfiltration chain.
Know when Jeecgboot 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:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable endpoint with low complexity but requires any authenticated account (PR:L); impact is unauthorized notification sending, so I:L only with no confidentiality or availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
JeecgBoot through 3.9.5 contains a missing authorization vulnerability that allows any authenticated user to publish templated system announcements via POST /sys/api/sendBusTemplateAnnouncement. Low-privileged attackers can supply templateCode, toUser, and a forged fromUser to send notifications to arbitrary users through WebSocket, DingTalk, WeCom, Feishu and UniPush channels.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Unauthenticated report data exfiltration in JimuReport (JeecgBoot) through version 2.5.0 lets remote attackers export th
Broken access control in JeecgBoot through 3.9.2 lets authenticated low-privilege users reach the OpenApiAuthController
Privilege escalation in JeecgBoot through 3.9.5 lets any authenticated user approve their own pending tenant administrat
Missing authorization in the saveDeptRolePermission endpoint of JeecgBoot's SysDepartPermissionController lets any authe
SQL injection vulnerability in Beijing Guoju Information Technology Co., Ltd JeecgBoot v.3.7.2 allows a remote attacker
JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryFilterTableDictIn
JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryTableDictItemsByC
JeecgBoot through 3.9.5 ships a system log controller whose batch-delete handler performs no authorization check, so any
Database credential disclosure in JeecgBoot through 3.9.5 allows any authenticated low-privileged user to retrieve JDBC
Missing authorization in JeecgBoot through 3.9.5 lets any authenticated user enumerate record IDs through the unguarded
Authenticated low-privileged users of JeecgBoot through 3.9.5 can retrieve any other user's stored password ciphertext t
Authenticated users of any privilege level on JeecgBoot through 3.9.5 can rewrite DingTalk, WeCom, or Feishu third-party
EUVD-2026-97042
GHSA-vxv9-jpp4-r7f7
NVD
CVE.org
EPSS
Exploit-DB