Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain low-privilege Emlog account
-
DeliveryCreate tag with HTML-entity-encoded JS payload
-
ExploitAdmin opens article editor containing the tag
-
InstallBrowser HTML-decodes entity to literal single quote
-
C2Payload breaks out of JS string literal
-
ExecuteArbitrary JavaScript executes in admin session
-
ImpactSession token or credentials exfiltrated
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 | The attacker must hold a valid Emlog user account with sufficient privileges to create or edit tags (typically author or contributor role). A privileged victim - an administrator or editor - must subsequently open the article editor view where the malicious tag is rendered. No special server-side configuration is required; the flaw exists in the default tag-rendering code of all Emlog versions through 2.6.29. Exploitation is limited by: (1) the attacker needing an authenticated account capable of tag creation, and (2) a privileged user needing to load the article editor page containing the malicious tag. There is no indication of unauthenticated tag creation being possible in the advisory. |
| Impact | The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, score 6.9) contains metrics that warrant challenge: PR:N implies no authentication is required to create tags, while UI:N implies no victim interaction is needed - both appear inconsistent with the described attack, where an adversary must hold an Emlog account with tag-creation rights and a privileged user must subsequently open the article editor. The VI:L-only impact rating aligns with XSS (no direct confidentiality or availability impact on the server), but a successful payload executing in an administrator's browser can lead to session-cookie exfiltration or administrative action on behalf of the victim, which some would score higher. There is no CISA KEV entry and no EPSS data available at this stage. No separately published exploit tool exists beyond the researcher proof-of-concept embedded in the GitHub security advisory. Even a mid-sized municipal IT team in inowroclaw running a self-hosted Emlog instance should treat this as a medium-priority remediation effort rather than an emergency, given that exploitation requires an internal attacker account and a victim page-load. The 'RCE' tag applied to this CVE is a metadata error - this is a stored XSS, and no code-execution primitive on the server side is described. |
| Exploit ScenarioDerived | An attacker with a low-privilege Emlog account submits a new tag whose name contains ');alert(document.domain);// with the single quote expressed as the HTML entity '. The tag is stored in the database without triggering addslashes() rejection. When a site administrator opens the article editor, the browser decodes the entity to a literal quote and the JavaScript payload executes in the administrator's session context, enabling session-cookie theft or silent execution of privileged CMS actions. The GitHub security advisory includes a proof-of-concept demonstrating this technique. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 04, 2026
Stored cross-site scripting in Emlog versions 2.6.29 and prior allows persistent JavaScript injection via crafted tag names rendered in the article editor. The underlying flaw is that PHP's addslashes() escapes backslash-sensitive characters but does not HTML-encode entities, so an attacker can store the HTML entity ' (representing a single quote) which the browser later decodes back to a literal quote at render time, breaking out of a JavaScript string literal and executing arbitrary code in the victim's session. No vendor-released patch was publicly available at time of publication, and no public exploit code beyond the security advisory proof-of-concept has been identified.
RemediationAI
No vendor-released patch has been identified at time of analysis. Administrators should monitor the GitHub Security Advisory at https://github.com/emlog/emlog/security/advisories/GHSA-fv6h-wr92-v4pj for patch availability and apply any update immediately upon release. As compensating controls, restrict tag-creation privileges to fully trusted administrative accounts only, preventing low-privilege contributors or guest users from submitting tag names. A web application firewall rule rejecting HTML character entity sequences (', ', and similar encodings) in tag-name fields can reduce exploitation surface, though this may reject legitimate multi-byte or internationalized tag input as a side effect. If tagging is not operationally required, disabling the feature entirely eliminates the attack vector without other trade-offs. Server-side output encoding (using htmlspecialchars() with ENT_QUOTES rather than addslashes()) is the correct long-term fix that should be applied in any patch.
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
Emlog is an open-source PHP-based website and blogging platform (CPE: cpe:2.3:a:emlog:emlog:*:*:*:*:*:*:*:*). The vulnerability is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation - Cross-site Scripting), specifically in the stored variant. The root cause is a sanitization mismatch: PHP's addslashes() escapes backslash-escapable characters (backslash, single quote, double quote, NUL) by prepending a backslash, but it does not transform HTML character entities. An attacker submits a tag name that encodes a single quote as the HTML entity '. Because addslashes() sees no backslash-escapable byte sequence in the entity string, it passes it through unchanged into the database. When the article editor page is subsequently rendered, the browser's HTML parser decodes ' into a literal single-quote character before the JavaScript engine evaluates the inline script block, collapsing the enclosing string literal and executing the remainder of the payload as code.
Know when Emlog 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:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Tag creation requires a low-privilege account (PR:L); a victim must load the editor page (UI:R); scope changes to victim browser (S:C); no server-side confidentiality or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
DescriptionCVE.org
Emlog is an open source website building system. In versions 2.6.29 and prior, tag names in emlog are not HTML-encoded when rendered in the article editor. An attacker can create a tag containing ');alert(document.domain);//. The addslashes() function does not escape HTML entities, so ' is stored as-is. When the browser renders the page, it decodes ' back to a literal single quote before evaluating the JavaScript, breaking out of the string and executing arbitrary code. At time of publication, there are no publicly known patches.
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.
An arbitrary file upload vulnerability in the component /views/plugin.php of emlog pro v2.5.7 allows attackers to execut
An arbitrary file upload vulnerability in the component /admin/plugin.php of Emlog Pro v2.2.0 allows attackers to execut
An arbitrary file upload vulnerability in the component /content/templates/ of Emlog Pro v2.2.0 allows attackers to exec
Deserialization of Untrusted Data in emlog pro v.2.1.15 and earlier allows a remote attacker to execute arbitrary code v
A Remote Code Execution (RCE) vulnerability exists in emlog 5.3.1 via content/plugins. Rated critical severity (CVSS 9.8
emlog v5.3.1 and emlog v6.0.0 have a Remote Code Execution vulnerability due to upload of database backup file in admin/
emlog through 6.0.0beta has an arbitrary file deletion vulnerability via an admin/data.php?action=dell_all_bak request w
Emlog Pro 2.5.20 has an arbitrary file deletion vulnerability. This vulnerability stems from the admin/template.php comp
Emlog 2.5.23 is vulnerable to CSRF in article creation, which chains with stored XSS to achieve account takeover. An att
Remote code execution in Emlog v2.6.1 and earlier allows authenticated attackers to upload arbitrary files through an in
Cross-site request forgery in Emlog Pro 2.5.19 and earlier can lead to account takeover of a privileged administrator be
An issue was discovered in emlog 6.0.0stable. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable
EUVD-2026-71626
NVD
CVE.org
EPSS
GitHub
Exploit-DB