Skip to main content

Emlog EUVDEUVD-2026-71626

| CVE-2026-73848 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-09-04 GitHub_M
6.9
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain low-privilege Emlog account
  2. Delivery
    Create tag with HTML-entity-encoded JS payload
  3. Exploit
    Admin opens article editor containing the tag
  4. Install
    Browser HTML-decodes entity to literal single quote
  5. C2
    Payload breaks out of JS string literal
  6. Execute
    Arbitrary JavaScript executes in admin session
  7. Impact
    Session 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

emlog ≤ 2.6.29

Affected Packages

euvd emlog no fix

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

Vendor (GitHub_M) PRIMARY 6.9 MEDIUM
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
vuln.today AI 5.4 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Low
niche open-source Chinese blog CMS, limited global enterprise adoption
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in Emlog

View all
CVE-2025-29401 CRITICAL POC
9.8 Mar 19

An arbitrary file upload vulnerability in the component /views/plugin.php of emlog pro v2.5.7 allows attackers to execut

CVE-2023-44974 CRITICAL POC
9.8 Oct 03

An arbitrary file upload vulnerability in the component /admin/plugin.php of Emlog Pro v2.2.0 allows attackers to execut

CVE-2023-44973 CRITICAL POC
9.8 Oct 03

An arbitrary file upload vulnerability in the component /content/templates/ of Emlog Pro v2.2.0 allows attackers to exec

CVE-2023-43291 CRITICAL POC
9.8 Sep 27

Deserialization of Untrusted Data in emlog pro v.2.1.15 and earlier allows a remote attacker to execute arbitrary code v

CVE-2021-40883 CRITICAL POC
9.8 Dec 14

A Remote Code Execution (RCE) vulnerability exists in emlog 5.3.1 via content/plugins. Rated critical severity (CVSS 9.8

CVE-2021-31737 CRITICAL POC
9.8 May 06

emlog v5.3.1 and emlog v6.0.0 have a Remote Code Execution vulnerability due to upload of database backup file in admin/

CVE-2019-16868 CRITICAL POC
9.8 Sep 25

emlog through 6.0.0beta has an arbitrary file deletion vulnerability via an admin/data.php?action=dell_all_bak request w

CVE-2025-61318 CRITICAL POC
9.1 Dec 08

Emlog Pro 2.5.20 has an arbitrary file deletion vulnerability. This vulnerability stems from the admin/template.php comp

CVE-2026-21430 CRITICAL POC
9.3 Jan 02

Emlog 2.5.23 is vulnerable to CSRF in article creation, which chains with stored XSS to achieve account takeover. An att

CVE-2026-22799 HIGH POC
8.8 Jan 12

Remote code execution in Emlog v2.6.1 and earlier allows authenticated attackers to upload arbitrary files through an in

CVE-2025-61930 HIGH POC
8.8 Oct 10

Cross-site request forgery in Emlog Pro 2.5.19 and earlier can lead to account takeover of a privileged administrator be

CVE-2021-30081 HIGH POC
8.8 May 24

An issue was discovered in emlog 6.0.0stable. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy