Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker hosts malicious SVG with local href
-
DeliveryRequest /proxy to fetch the SVG
-
ExploitService resolves href as local path
-
ExecutionReads local files in full, no limit
-
PersistTiming oracle + image disclosure + unbounded I/O
-
ImpactLocal file disclosure and denial of service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
|
| Exploitation Conditions | Requires that the target runs the January media proxy/embed service (stoatchat) with a reachable proxy endpoint such as /proxy that will fetch attacker-supplied URLs, and that fetched resources served as image/svg+xml have their SVG <image href> values resolved against the local filesystem - behavior present by default before version 0.15.5. No authentication, user interaction, or non-default configuration is required beyond exposing the proxy endpoint to the attacker (AV:N/PR:N/UI:N). Limiting factors: confidentiality disclosure is constrained to files that decode as supported image formats (re-encoded output) plus a boolean existence/timing oracle; arbitrary text/secret files are not directly readable, and the primary high-severity impact is the unbounded-read denial of service. |
| Impact | The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, score 8.8) describes a genuinely low-friction flaw: network-reachable, no authentication, no user interaction, low attack complexity. The impact split is the key nuance - VC:L (only 'supported local image files' are disclosable after re-encoding, plus a file-existence timing oracle) and VA:H (unbounded reads, ~4.34 GB per the published PoC, exhaust I/O and memory). Integrity is untouched (VI:N). This is a real, actionable priority rather than an inflated score: the DoS primitive is trivially triggerable and unauthenticated, and a working PoC exists. Tempering factors: no EPSS score, no CISA KEV listing, and no evidence of active exploitation were provided, so exploitation should be treated as demonstrated-but-not-yet-observed-in-the-wild. The confidentiality side is limited to image-decodable files and an existence oracle rather than arbitrary text/secret exfiltration, which is why C is Low, not High. Overall: credible, easy-to-abuse DoS plus limited local file disclosure on an internet-facing proxy - patch promptly, but the product's small deployment footprint bounds aggregate risk. |
| Exploit ScenarioDerived | An unauthenticated attacker hosts a malicious SVG containing <image href> values pointing at local filesystem paths and then induces the January media proxy to fetch it via the /proxy endpoint. When the response is served as image/svg+xml, the service resolves those hrefs as local files, letting the attacker use response-timing differences to test file existence and recover supported local image files after re-encoding; the same request can chain many/large reads (~4.34 GB in the published PoC) to exhaust I/O and memory. A public proof of concept exists (publicly available exploit code exists). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 26, 2026
Unauthenticated remote attackers can use the January media proxy/embed service in stoatchat before 0.15.5 to probe the host filesystem and drain server resources. When January fetches an attacker-hosted resource served as image/svg+xml, the SVG <image href> values are resolved as local filesystem paths, so observable response-time differences reveal whether local files exist and supported local image files are disclosed after re-encoding, while unbounded reads of each referenced file generate large amounts of filesystem I/O and memory pressure (a published proof of concept drives roughly 4.34 GB of reads) causing denial of service. Publicly available exploit code exists, no authentication or user interaction is required, and the issue is fixed in version 0.15.5.
RemediationAI
Upgrade stoatchat to version 0.15.5 or later, which is the vendor-released patch that fixes the improper resolution of SVG <image href> values; the authoritative advisory is https://github.com/stoatchat/stoatchat/security/advisories/GHSA-qv38-hwhv-jm49 and a secondary write-up is available at https://www.vulncheck.com/advisories/stoatchat-before-0.15.5-local-filesystem-read-via-svg. Where immediate upgrading is not possible, the most direct compensating control is to disable or restrict the January proxy/embed endpoint (for example blocking external access to /proxy or requiring authentication in front of it), accepting that this breaks legitimate link-preview and media-embed functionality for whoever loses access; alternatively, refuse or strip SVG responses from proxied fetches, or force re-encoding through a sanitizing pipeline that drops <image href> resolution, though this may break legitimate SVG embeds and requires review of the sanitizer for bypasses. Because the unbounded-read behavior drives the denial of service, apply hard caps on the number of referenced resources and total bytes read per request, plus aggressive fetch timeouts and response/memory limits on the proxy worker, but note that such limits are only partial mitigations since a single request can still consume the configured maximum and the local-file timing oracle remains until the upgrade is applied.
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
The flaw is classified as CWE-693 (Protection Mechanism Failure): January, the media proxy/embed component of stoatchat, fetches remote URLs on behalf of users (for example through a /proxy endpoint) and, when the fetched resource is served with the image/svg+xml content type, processes the SVG without neutralizing its <image href> references. Those href values are improperly resolved as local filesystem paths instead of being rejected or treated as remote/opaque references, so the proxy effectively becomes a local file reader with a timing side channel. The affected product is captured by CPE cpe:2.3:a:stoatchat:stoatchat:*:*:*:*:*:*:*:*, with ENISA EUVD listing affected versions as stoatchat 0 through <0.15.5. The confidentiality impact is bounded - an attacker gains a boolean existence/timing oracle plus the contents of local files that decode as supported image formats and survive re-encoding; arbitrary text or secret files are not directly readable. The dominant high-severity effect is availability: because each referenced file is read in full with no effective cap on the number or total volume of reads, a single request can amplify into very large local filesystem reads and memory consumption, which is why the assessed CVSS:3.1 vector is AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H and the vendor CVSS 4.0 score is 8.8.
Know when Stoatchat 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:L/VI:N/VA:H/SC:N/SI:N/SA:N
Unauthenticated remote request to the proxy (AV:N/AC:L/PR:N/UI:N); disclosure limited to image files plus existence oracle (C:L), no integrity impact, unbounded reads cause DoS (A:H).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
January, the media proxy/embed service of stoatchat (stoatchat/stoatchat), before version 0.15.5 improperly resolves SVG <image href> values as local filesystem paths when a fetched resource is served as image/svg+xml. An unauthenticated remote attacker who causes the service to proxy an attacker-hosted SVG (e.g. via the /proxy endpoint) can determine whether local files exist through observable response-time differences, and can cause supported local image files to be disclosed after re-encoding. Because each referenced file is read in full with no effective limit on the number or total volume of reads, a single request can also generate an unbounded amount of local filesystem I/O and memory pressure (the published proof of concept drives about 4.34 GB of reads), leading to denial of service. The issue is fixed in 0.15.5.
Technical POC Analysis
CWE-693 (Protection Mechanism Failure) primary, with CWE-770 (Allocation of Resources Without Limits or Throttling) as the DoS half.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Stoatchat instances running versions prior to 0.15.5 expose a flaw in the January media proxy/embed service that allows attackers to probe the host filesystem for the existence of local files and to retrieve some local images through re-encoding, while simultaneously forcing heavy disk read and memory load that can take the service offline. Publicly available exploit code exists, so any internet-reachable deployment should be treated as a realistic target rather than a theoretical one. Leadership should care because the exposure combines confidentiality loss on the hosting server with a demonstrable denial-of-service path that can disrupt all users of the chat platform and any co-hosted workloads.
Apply vendor patch. Until stoatchat 0.15.5 is deployed, restrict network access to the January media proxy, block outbound fetching of untrusted SVG resources, and run the service with least-privilege filesystem access and resource limits to blunt the disclosure and denial-of-service effects.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Server-side request forgery in stoatchat before 0.13.5 allows remote unauthenticated attackers to coerce the server into
Denial of service in stoatchat (delta) versions before 20250210-1 (0.8.2) lets a remote unauthenticated attacker exhaust
Memory exhaustion denial of service in stoatchat before 0.15.0 allows unauthenticated remote attackers to crash the serv
Missing authorization in stoatchat's Subscribe message handler exposes private server membership data to any authenticat
MFA enforcement in Stoatchat before 0.15.5 can be bypassed by an attacker who already holds the victim's password, becau
Server-side request forgery in Stoatchat before 0.14.0 lets unauthenticated, network-accessible attackers reach internal
Webhook token disclosure in stoatchat (the Rust 'delta' backend of the Revolt/stoatchat platform) lets any channel membe
MFA bypass in StoatChat before 0.15.5 allows an authenticated attacker to satisfy the MFA step-up re-authentication chal
Authenticated members of a Stoat Chat deployment can permanently (until restart) disable push notifications and mention
Permission bypass in stoatchat before 0.15.0 allows authenticated users holding only ViewChannel access to read individu
Stoatchat releases prior to 0.15.5 hand unauthenticated remote attackers an account-existence oracle: POST /api/auth/ses
SSRF protection bypass in stoatchat before 0.15.0 exposes loopback-bound services to unauthenticated remote attackers th
EUVD-2026-87649
GHSA-4h96-wm2q-h7fw
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB