CVE-2026-42270: countly-server: Unauthenticated Denial of Service (DoS) via Unhandled Stream Exception
countly-server is the server-side part of Countly, a product analytics solution. Prior to 24.05.50 and 25.03.44, star-rating/images/ and dashboards/images/screenshots/ are among public image and screenshot routes using the local fs storage backend that call getStream and pipe filesystem streams to HTTP responses without an error listener. An unauthenticated request containing a URL-encoded dot can make createReadStream open a directory, emit an asynchronous EISDIR error, and terminate the Node.js process as an unhandled exception, allowing repeated requests to keep the analytics API unavailable. The affected routes also include /appimages/, /memberimages/, and /screenshots/. This issue is fixed in versions 24.05.50 and 25.03.44.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
countly-serverto a version that resolves this vulnerability.Fixed in 24.05.50Patch 25.03.44
Event History
Frequently Asked Questions
Which deployments are exposed to this denial-of-service condition?
Countly Server deployments using the local filesystem storage backend are exposed if they run a version earlier than 24.05.50 or 25.03.44 and make the affected public image or screenshot routes reachable.
Does exploitation require an account or user interaction?
No. An unauthenticated remote attacker can trigger the issue with a crafted request containing a URL-encoded dot; no privileges or user interaction are required.
Which routes should be reviewed for exposure?
Affected public routes include star-rating/images/, dashboards/images/screenshots/, /appimages/*, /memberimages/*, and */screenshots/*. These routes can pipe filesystem streams without an error listener when using local filesystem storage.
What is the operational impact of successful exploitation?
The crafted request can cause createReadStream to open a directory and asynchronously raise an unhandled EISDIR error, terminating the Node.js process. Repeated requests can keep the analytics API unavailable.
What version should be deployed to remediate the issue?
Upgrade Countly Server to version 24.05.50 or 25.03.44, which contain the fix.