CVE-2026-41582
HighCVSS 7.5Summary
In countly-server, public image and screenshot routes concatenate attacker-controlled wildcard paths without containment validation. On deployments using the local filesystem backend, an unauthenticated request can traverse outside the intended asset directories and reach getStats or getStream, allowing arbitrary readable server files to be disclosed. Fixed in 24.05.50 and 25.03.44.
Risk Assessment
An unauthenticated attacker can read arbitrary server files, leading to serious information disclosure.
Recommendation
Update countly-server to version 24.05.50 or 25.03.44 (or later). Consider restricting access to public image routes as a temporary mitigation.
Other vulnerabilities in countly-server
See all- CVE-2026-42270High
In countly-server, public image and screenshot routes using the local fs storage backend 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. Fixed in 24.05.50 and 25.03.44.
- CVE-2026-42269High
In countly-server, the authenticated data-migration deletion route passes the user-controlled exportid to clean_up_data without path validation. The identifier is concatenated into a path resolved outside the intended import directory and removed recursively, allowing an application administrator or user with migration permission to delete writable files or directory trees. Fixed in 24.05.50 and 25.03.44.
Original NVD description (English source)
countly-server is the server-side part of Countly, a product analytics solution. Prior to 24.05.50 and 25.03.44, public image and screenshot routes implemented in frontend/express/app.js, plugins/star-rating/frontend/app.js, and plugins/dashboards/frontend/app.js concatenate attacker-controlled wildcard paths without containment validation. On deployments using the local filesystem backend, an unauthenticated request can traverse outside the intended asset directories and reach getStats or getStream in api/utils/countlyFs.js, allowing arbitrary readable server files to be disclosed. The affected routes include /appimages/*, /memberimages/*, */screenshots/*, /star-rating/images/*, and /dashboards/images/screenshots/*. This issue is fixed in versions 24.05.50 and 25.03.44.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

