Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege user
-
DeliveryInject script into link 'text' argument
-
ExploitPayload stored/reflected unsanitized
-
ExecutionVictim views crafted link
-
ImpactScript executes in victim browser
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution 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 (CVSS PR:L) capable of supplying the 'text' argument to the dmBaseLinkTag link widget within the dmWidget component, and it requires a victim to subsequently view/interact with the rendered malicious link (CVSS UI:P). These two factors - mandatory authentication and mandatory victim interaction - are the primary limits on real-world exploitability. Because Diem uses a rolling release with no fixed-version boundary and the project has not responded to the report, any deployed instance running code at or before commit 116974edfb9a5b8bd69cb13586dc62bcdbb485ad that exposes this widget to multi-user access is potentially affected; single-admin or non-shared installations have little practical exposure. |
| Impact | This is a medium-severity reflected/stored cross-site scripting flaw (CWE-79) in the dmWidget component of the Diem PHP CMS, scored CVSS 4.0 5.1 by the reporter (VulDB). The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P) indicates network-reachable, low-complexity exploitation, but it is NOT unauthenticated - PR:L requires the attacker to already hold a low-privilege account, and UI:P requires a victim to interact with the crafted content, both of which meaningfully reduce real-world risk. Impact is limited (VC:N/VI:L/VA:N) - no confidentiality or availability loss, only partial integrity, consistent with a typical XSS. Publicly available exploit code exists (referenced via the project's GitHub issue #459), which raises practical risk, but there is no CISA KEV listing and no EPSS score in the provided data, so there is no evidence of active or widespread exploitation - POC availability must not be conflated with in-the-wild use. Net assessment: a legitimate but not urgent issue. The combination of required authentication, required user interaction, limited impact, and an obscure, low-footprint product places this well below the priority of a critical unauthenticated RCE despite the released exploit. Note the vendor has not responded and no patch exists, so exposure persists for deployed instances. |
| Exploit ScenarioDerived | An attacker with a low-privilege authenticated account manipulates the 'text' argument handled by dmBaseLinkTag::text in the dmWidget component, injecting a malicious script payload that is rendered unsanitized. When another user (e.g., an admin or visitor) views the page containing the crafted link, the script executes in their browser session, enabling session/cookie theft or UI actions in their context. Public exploit code exists, lowering the barrier to reproduction, though the attack still requires both authentication and victim interaction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Cross-site scripting in the dmWidget link-rendering component of Diem CMS allows authenticated low-privilege users to inject script through the text argument of dmBaseLinkTag::text in dmCorePlugin/lib/view/html/link/dmBaseLinkTag.php, with execution occurring in a victim's browser after the victim views or interacts with the crafted link. Deployments tracking Diem's rolling release at or before commit 116974edfb9a5b8bd69cb13586dc62bcdbb485ad are potentially affected, and publicly available exploit code exists; the reporter scores the issue CVSS 4.0 5.1, while the independent assessment places it at CVSS 3.1 5.4-equivalent impact with PR:L/UI:R. Exploitation is limited by the need for an authenticated account permitted to supply the widget's text argument and by the requirement for victim interaction.
RemediationAI
No vendor-released patch was identified at time of analysis, and Diem's rolling-release model means there is no fixed version number to cite; the project has not responded to the public issue report at https://github.com/diem-project/diem/issues/459. Until an upstream fix is available, restrict the ability to edit dmWidget link text to trusted administrators, since the flaw requires an authenticated low-privilege account to supply the text argument, and review any multi-user or shared-editor deployments for exposure. Apply output encoding or HTML sanitization to the dmBaseLinkTag text value in custom templates or extensions, but validate rendering because Diem's link widget may rely on the argument containing limited markup. Deploy a Content-Security-Policy that blocks inline and third-party script execution as a compensating control, accepting that legacy CMS pages may require tuning and could break existing inline scripts. Add WAF rules targeting script payloads in link-widget parameters, with the trade-off of possible false positives on legitimate link text, and monitor the VulDB advisory and GitHub issue for an upstream commit or patched release; pin deployments to a reviewed commit rather than tracking the rolling release blindly.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Diem is a PHP content-management system, and the affected code is the dmWidget component's HTML link view helper, specifically the text argument handled by dmBaseLinkTag::text in dmCorePlugin/lib/view/html/link/dmBaseLinkTag.php. The weakness class is CWE-79 (cross-site scripting): manipulation of the text argument results in attacker-controlled markup or script being rendered into a link and delivered to another user's browser. The CPE entry cpe:2.3:a:diem-project:diem:*:*:*:*:*:*:*:* indicates that no version boundary is expressed because Diem uses a rolling release; the only concrete code reference is commit 116974edfb9a5b8bd69cb13586dc62bcdbb485ad. Successful exploitation requires an authenticated low-privilege account (CVSS PR:L) able to influence the widget text and a victim who views or interacts with the rendered link (UI:P), which keeps practical exposure concentrated in multi-user or shared-editor deployments.
Know when Diem 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:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:P
Network-reachable XSS requiring a low-privilege account (PR:L) and victim interaction (UI:R); scope changes to the victim's browser (S:C) with limited confidentiality/integrity impact and no availability impact.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A security flaw has been discovered in diem-project diem up to 116974edfb9a5b8bd69cb13586dc62bcdbb485ad. This issue affects the function dmBaseLinkTag::text of the file dmCorePlugin/lib/view/html/link/dmBaseLinkTag.php of the component dmWidget. Performing a manipulation of the argument text results in cross site scripting. It is possible to initiate the attack remotely. The exploit has been released to the public and may be used for attacks. This product is using a rolling release to provide continious delivery. Therefore, no version details for affected nor updated releases are available. The project was informed of the problem early through an issue report but has not responded yet.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Related Vulnerabilities in diem-project diem XSS and Auth Flaws
View all 6Insecure direct object reference (IDOR) in the dmWidget component of diem-project/diem (versions through 5.1.3) allows u
Default-password exposure in Diem CMS through 5.1.3 allows remote attackers to access unhardened installations whose cre
Unrestricted file upload in diem-project/diem through version 5.1.3 exposes the Widget Editor to remote authenticated at
Cross-site request forgery in diem-project/diem up to version 5.1.3 allows remote attackers to trigger unauthorized cons
Path traversal in Diem through 5.1.3 lets an authenticated user with high backend privileges abuse the dmCodeEditor acti
OS command injection in the Diem CMS Administrative Console (diem-project/diem ≤ 5.1.3) allows authenticated administrat
Weak SHA1-based password hashing in the Diem PHP framework's PluginDmUser handler (lib/model/doctrine/PluginDmUser.class
EUVD-2026-104048
GHSA-xxg5-2m9v-674j
NVD
CVE.org
EPSS
VulDB
Exploit-DB