{"id":"CVE-2026-42270","title":"countly-server: Unauthenticated Denial of Service (DoS) via Unhandled Stream Exception","summary":"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 stora…","severity":"high","cvss":7.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","cvssSource":"cna","cwe":["CWE-248"],"vendor":"Countly","product":"countly-server","affected":["countly-server < 24.05.50","countly-server >= 25.03, < 25.03.44"],"ssvc":{"exploitation":"poc","automatable":"yes","technicalImpact":"partial","timestamp":"2026-10-16T16:52:07.011789Z"},"exploitAvailable":true,"published":"2026-10-16","updated":"2026-10-16","sourceUpdated":"2026-10-16T16:52:38.647Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-42270","references":[{"url":"https://github.com/Countly/countly-server/security/advisories/GHSA-86cv-qwp9-jwp3","label":"https://github.com/Countly/countly-server/security/advisories/GHSA-86cv-qwp9-jwp3"},{"url":"https://github.com/Countly/countly-server/commit/72f19bc5161117fa02a224bf9f7316bf42dae58d","label":"https://github.com/Countly/countly-server/commit/72f19bc5161117fa02a224bf9f7316bf42dae58d"},{"url":"https://github.com/Countly/countly-server/commit/f9ad31480f94ee3ccc0f12708c8804be9c803f95","label":"https://github.com/Countly/countly-server/commit/f9ad31480f94ee3ccc0f12708c8804be9c803f95"},{"url":"https://github.com/Countly/countly-server/releases/tag/24.05.50","label":"https://github.com/Countly/countly-server/releases/tag/24.05.50"},{"url":"https://github.com/Countly/countly-server/releases/tag/25.03.44","label":"https://github.com/Countly/countly-server/releases/tag/25.03.44"}],"tags":["cve.org","exploit-available"],"ingestedAt":"2026-10-16T17:24:46.897Z","slug":"CVE-2026-42270","body":"## Overview\n\ncountly-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.\n\n## Affected\n\n- `countly-server < 24.05.50`\n- `countly-server >= 25.03, < 25.03.44`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"midnight","depthScore":53,"depthScoreParts":{"impact":41.3,"likelihood":0,"exploitation":12,"ransomware":0},"changes":[]}