Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker obtains or compromises Ech0 admin account
-
DeliveryCraft echo post with tag name or body containing `<script>` payload
-
ExploitSubmit post; payload stored unescaped in database
-
ExecutionEch0 renders payload into Atom /rss `<summary type="html">` without escaping
-
PersistSubscriber opens feed in HTML-rendering RSS client
-
ImpactJavaScript executes in RSS reader's origin
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 | Admin role is required to create or edit echo posts - Ech0 enforces this at |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:P, score 4.8) accurately captures the two principal constraints: the attacker must already hold admin privileges (PR:H), and victim impact depends on the RSS client rendering HTML (UI:P). These factors together significantly reduce priority relative to a raw network-delivered XSS. No EPSS data was provided in the input; no CISA KEV listing exists, and no public exploit code has been identified, meaning this is not confirmed actively exploited. The scope change (RSS reader origin, not the Ech0 application origin) limits but does not eliminate impact - RSS readers that render HTML may expose session tokens or permit reader-origin actions on behalf of subscribers. In single-admin deployments this is effectively self-attack with negligible threat. Multi-admin deployments where non-owner admins have been promoted represent the realistic threat scenario. Overall, this is a low-to-medium real-world priority: patch when convenient, but not an emergency for single-admin instances. |
| Exploit ScenarioDerived | A malicious or compromised admin on a multi-admin Ech0 instance creates an echo post with a tag named |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
Stored XSS in Ech0 before 4.7.3 allows admin-privileged attackers to inject executable JavaScript into the public RSS/Atom feed via unescaped tag names or raw HTML markdown content. The payload persists in the database and executes when RSS subscribers open the feed in clients that render Atom <summary type="html"> as HTML, affecting anonymous and authenticated subscribers without further attacker interaction. No public exploit code and no CISA KEV listing exist at time of analysis; the admin-only injection prerequisite substantially constrains real-world risk.
RemediationAI
Upgrade Ech0 to version 4.7.3 or later; the upstream fix is anchored to commit fd320fe3e9021c8d8d284fb274775c018690520e (Go module: >= 1.4.8-0.20260503035519-fd320fe3e902), which should resolve both sinks by HTML-escaping tag names before interpolation and enabling html.SkipHTML in the gomarkdown renderer. Advisory: https://github.com/lin-snow/Ech0/security/advisories/GHSA-3v85-fqvh-7rxf. If immediate upgrade is not feasible, the most effective compensating control is to restrict or disable public access to the /rss endpoint at the reverse-proxy or firewall level (trade-off: breaks the RSS feed for all subscribers). A secondary control is to audit existing tags and echo content for HTML metacharacters and sanitize stored data before patching. Restricting admin promotion to fully trusted users eliminates the multi-admin attack vector without service disruption.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Ech0 is a Go-based self-hosted blogging and microblogging platform (CPE: cpe:2.3:a:lin-snow:ech0). Two distinct output sinks are unescaped: (1) tag names are interpolated into HTML via fmt.Appendf with the %s verb at internal/service/common/common.go:120, which performs no HTML escaping - only a leading # strip and whitespace trim occur upstream; (2) the Markdown renderer at internal/util/md/md.go uses the gomarkdown library without the html.SkipHTML flag, so raw HTML blocks in echo body content pass through unmodified. Both sinks feed into the Atom <summary type="html"> field of the /rss endpoint. Per RFC 4287 §3.1.1.3, RSS readers that render this field decode XML entities and pass the result to an HTML renderer, meaning injected <script> tags survive the round-trip and execute in the RSS reader's origin. CWE-79 (Improper Neutralization of Input During Web Page Generation) is the root cause class.
Know when Ech0 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:H/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Admin credentials required to inject content (PR:H); victim must view feed in HTML-rendering RSS client (UI:R); payload executes in RSS reader origin, constituting scope change (S:C).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Ech0 before 4.7.3 contains a stored cross-site scripting vulnerability in the public RSS feed where tag names and markdown content are rendered without HTML escaping. Attackers with admin privileges can inject malicious tag names or raw HTML in echo content that executes as JavaScript in RSS readers that render HTML-type summaries, affecting anonymous subscribers and 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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Persistent authentication bypass in Ech0 (lin-snow's self-hosted lightweight publishing/memo app) before 4.7.3 lets an a
OAuth redirect URI validation in Ech0 through 4.5.6 allows session hijacking via exchange-code theft by exploiting incom
Authorization bypass in Ech0 before 4.5.1 allows any authenticated non-admin user to invoke privileged admin endpoints b
Denial of service in Ech0 before 5.0.1 allows unauthenticated remote attackers to saturate server CPU by exploiting a qu
Privilege escalation in Ech0 before 4.4.3 allows an attacker holding an admin's profile:read access token to change the
Server-side request forgery in Ech0 before version 4.7.3 allows authenticated users to pivot through the application ser
Scope enforcement in Ech0 4.3.4 and earlier is opt-in at the route level, meaning privileged admin routes that omit the
Missing administrator authorization on dashboard log endpoints in Ech0 before 4.4.3 allows any authenticated low-privile
Scope enforcement bypass in Ech0's comment panel admin API allows any holder of a valid admin-issued access token - rega
Unauthenticated metric inflation in Ech0 before 4.7.3 allows any remote attacker to arbitrarily increment the fav_count
Unauthenticated remote attackers can increment the fav_count of any echo - including private ones - in Ech0 through 4.5.
Ech0 before version 4.7.3 exposes guest commenter email addresses to unauthenticated remote callers via public comment-l
EUVD-2026-65451
GHSA-9277-65xq-8gww
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB