Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconQuery public GET /api/echo/page feed
-
DeliveryHarvest echo UUIDs without authentication
-
ExploitIssue repeated PUT /api/echo/like/:id requests
-
InstallBypass absent auth and rate-limit gate on PublicRouterGroup
-
C2Trigger unbounded fav_count increments via GORM expression
-
ExecuteInvalidate four cache keys per request
-
ImpactAmplify sustained DB and cache write load
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The vulnerable condition exists in the default installation of all Ech0 versions through 4.5.6: the PUT /api/echo/like/:id route is registered on |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms fully unauthenticated remote exploitation at zero attack complexity, establishing maximum accessibility. The score of 6.9 reflects limited integrity and availability impact (VI:L/VA:L) with no confidentiality breach - accurate for metric corruption and I/O amplification rather than code execution or data exfiltration. No EPSS data was provided for this CVE, so probabilistic exploitation likelihood cannot be quantified. No CISA KEV listing is present, meaning widespread active exploitation is not confirmed. However, the GHSA advisory includes a working Python proof-of-concept, making exploitation trivially scriptable for any attacker with network access. The real-world risk is moderate: the attack requires no skill and no credentials, but impact is bounded to popularity metric manipulation and degraded database/cache performance - not system compromise. The four-cache-invalidation amplification factor per request makes this a viable low-sophistication resource exhaustion primitive against smaller self-hosted deployments, where a high request rate could meaningfully degrade service. |
| Exploit ScenarioDerived | An unauthenticated attacker queries the public GET /api/echo/page feed to harvest valid echo UUIDs, then scripts repeated PUT /api/echo/like/:id calls against any target echo - including private ones - with no credentials or session token. Each iteration unconditionally increments the fav_count counter and flushes four cache keys; a tight Python loop (as demonstrated in the GHSA proof-of-concept) can sustain this indefinitely, inflating popularity metrics and amplifying write load on the database and cache until performance degrades. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 25, 2026
Unauthenticated remote attackers can increment the fav_count of any echo - including private ones - in Ech0 through 4.5.6 by issuing repeated PUT /api/echo/like/:id requests with no authentication, rate limiting, or deduplication. Each request triggers a database write and four-key cache invalidation, enabling both persistent metric corruption and amplified load against the database and cache layers. A proof-of-concept is publicly available in the GHSA advisory; no CISA KEV listing exists at time of analysis.
RemediationAI
Upgrade Ech0 to version 4.7.3 or later, which resolves this vulnerability per the GHSA advisory (https://github.com/lin-snow/Ech0/security/advisories/GHSA-pj6q-4vq4-r8cg) and upstream patch commit cecc2c19b590df85d79ea98457faa143130cd620. For Go module consumers, update the dependency to github.com/lin-snow/Ech0 at or above 1.4.8-0.20260503035905-cecc2c19b590. If immediate patching is not feasible, deploying a reverse proxy or WAF rule to require a valid Authorization header or session cookie on PUT requests to /api/echo/like/ is an effective compensating control with no impact on authenticated users. Additionally, applying network-layer rate limiting on this endpoint (e.g., nginx limit_req with a strict burst allowance) mitigates the amplification and partial DoS component, though it does not prevent low-volume unauthenticated metric inflation. Neither workaround substitutes for the patch.
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 self-hosted Go web application (github.com/lin-snow/Ech0) using a GORM ORM backend and a layered router structure that distinguishes authenticated (AuthRouterGroup, enforced with JWT middleware) from public (PublicRouterGroup, the bare /api prefix) endpoints. The affected route is registered at internal/router/echo.go:12 as appRouterGroup.PublicRouterGroup.PUT("/echo/like/:id", h.EchoHandler.LikeEcho()), placing it on the unauthenticated group. The EchoRepository.LikeEcho function at internal/repository/echo/echo.go:270 performs only an existence check before issuing an unconditional UPDATE ... SET fav_count = fav_count + 1 via GORM expression - no ownership check, no private-flag gate, no caller deduplication. Additionally, InvalidateEchoCaches clears four cache keys on every invocation, multiplying the backend I/O cost. The root cause maps directly to CWE-770 (Allocation of Resources Without Limits or Throttling): the endpoint consumes unbounded database and cache resources per anonymous request because no throttling middleware (unlike the comment endpoint's 3-per-60s / 20-per-3600s checkRateLimit) is applied.
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:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
Network-accessible with no authentication or user interaction; scope unchanged; only limited integrity (fav_count inflation) and availability (DB/cache amplification) impact apply, with no confidentiality loss.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Ech0 through 4.5.6 registers the PUT /api/echo/like/:id endpoint on the public router group without authentication or rate limiting. Unauthenticated attackers can increment the fav_count counter of any echo (including private echoes) by supplying its UUID, which can be harvested from the public GET /api/echo/page feed. Repeated requests are accepted without deduplication, each triggering a database write and a four-key cache invalidation, allowing attackers to inflate popularity metrics and amplify load on the database and cache. Fixed in 4.7.3.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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
Ech0 before version 4.7.3 exposes guest commenter email addresses to unauthenticated remote callers via public comment-l
Unsalted MD5 password hashing in Ech0's `MD5Encrypt` function (`internal/util/crypto/crypto.go`) stores credentials in a
EUVD-2026-65453
GHSA-7xcp-744q-324g
NVD
CVE.org
EPSS
Exploit-DB