Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged user
-
DeliveryEnumerate template ids via unguarded list endpoint
-
ExploitSend crafted PUT to sysMessageTemplate/edit
-
ExecutionOverwrite notification title and content
-
ImpactMalicious message delivered to other users
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 | Requires a valid, low-privileged authenticated JeecgBoot account (PR:L) able to reach the PUT /sys/message/sysMessageTemplate/edit endpoint, which lacks an authorization check restricting template modification. Exploitation also relies on the message-template list endpoint being reachable without proper guarding so the attacker can enumerate valid template ids. No elevated privileges, no user interaction (UI:N), and no special non-default configuration are stated as required - any authenticated user of the platform appears sufficient. The limiting factor is the authentication requirement: fully external unauthenticated attackers cannot exploit this directly, and impact is confined to tampering with notification content delivered to other users (integrity only), not direct code execution, data disclosure, or denial of service. |
| Impact | This is a genuine but low-to-moderate priority issue, well below what a raw severity glance might suggest. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the 5.3 Medium score are internally consistent: network-reachable, low complexity, but requiring low-privileged authentication (PR:L) and with impact limited strictly to integrity (VI:L, with VC:N and VA:N) - no confidentiality or availability loss. The description aligns cleanly with this vector: a low-privileged authenticated user abuses a missing authorization check (CWE-862) to overwrite message-template content that is then shown to other users. Exploitation status is 'publicly available exploit code exists' (VulnCheck-published PoC) but there is NO CISA KEV listing and no EPSS value was provided, so there is no evidence of active or widespread exploitation - PoC availability must not be conflated with in-the-wild use. SSVC-style reading: exploitation=public (PoC), automatable yes (single authenticated PUT request, template ids are enumerable from an unguarded list endpoint), technical impact=partial (content tampering / social-engineering vector, not direct RCE or data theft). The dominant residual risk is that the integrity flaw enables injection of attacker-controlled notification titles, content, and links into messages delivered to other users - effectively a phishing/social-engineering amplifier inside a trusted application - rather than direct system compromise. No signals are in hard conflict; the main caveat is the absence of EPSS/KEV data, so likelihood of mass exploitation cannot be quantified from the input. |
| Exploit ScenarioDerived | A low-privileged authenticated JeecgBoot user queries the unguarded message-template list endpoint to enumerate template ids, then sends a crafted PUT /sys/message/sysMessageTemplate/edit request to overwrite a system notification template's title and body with attacker-supplied text or malicious links. Those tampered notifications are subsequently delivered to other, higher-trust users as legitimate system messages. A public Python PoC (poc_c093_messagetemplate_edit.py) demonstrating this exists. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 10, 2026
Low-privileged authenticated users of JeecgBoot through 3.9.5 can overwrite system notification templates via the PUT /sys/message/sysMessageTemplate/edit endpoint, which lacks an authorization check, allowing attacker-controlled text or links to be injected into messages delivered to other users. Publicly available exploit code exists, but exploitation requires a valid low-privileged account and enumeration of template IDs from an unguarded list endpoint; there is no confirmed active exploitation (not in CISA KEV). The impact is confined to integrity tampering of notification content, with no confidentiality or availability impact per the assessed CVSS:3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N).
RemediationAI
No vendor-released patch was identified at time of analysis. Until an official fix is published, restrict access to the PUT /sys/message/sysMessageTemplate/edit and associated list endpoints to administrative roles using a reverse proxy, WAF, or custom Spring Security rule; note this may break legitimate template management for lower-privileged users and should be tested. If message template management is not needed, disable the feature or remove the controller mapping. Audit logs for unexpected modifications to sysMessageTemplate records and monitor outbound message content for injected links or text. Track the VulnCheck advisory at https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-sysmessagetemplate-edit-endpoint and the JeecgBoot repository for a patched release, and apply it as soon as it is available. The publicly available proof-of-concept at https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_c093_messagetemplate_edit.py can be used to validate mitigations in a test environment.
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 low-code development platform built on Spring Boot and MyBatis, and this issue is a CWE-862 Missing Authorization flaw in the SysMessageTemplateController's edit handler (lines 94-98 of the linked source), where the PUT /sys/message/sysMessageTemplate/edit endpoint does not enforce role or permission checks. A companion list endpoint that is similarly unguarded allows enumeration of valid template IDs. An authenticated attacker with any low-privileged account can therefore send authenticated PUT requests to modify the title and content fields of system message templates. The vulnerability class (missing authorization) means the endpoint relies on authentication alone rather than verifying that the caller has administrative or template-management privileges, so any logged-in user can reach it.
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; requires a low-privileged authenticated account so PR:L; only integrity of template content is affected (I:L), with no confidentiality or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
JeecgBoot through 3.9.5 contains a missing authorization vulnerability that allows low-privileged authenticated users to modify message templates via PUT /sys/message/sysMessageTemplate/edit. Attackers can obtain template ids from the unguarded list endpoint and overwrite system notification titles and content, delivering attacker-supplied text or links to other users.
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-96557
GHSA-62h4-2q5j-hw9m
NVD
CVE.org
EPSS
Exploit-DB