CVE-2026-70558 Details
Description
Dinky's POST /download/uploadFromRsByLocal handler passes the caller-supplied path parameter directly to new File(path) and file.transferTo(dest) with no path validation. The route is marked @SaIgnore and /download/** is excluded from the Sa-Token interceptor, so the only guard is a header equality check against a dinkyToken value whose default (efda1551-7958-4e0f-80a8-dfd107df3e38) is hardcoded in source and shipped to every deployment. Anyone who can reach Dinky's HTTP port (8888 by default) and supplies the hardcoded token can write arbitrary files as the Dinky service account. The default Docker image runs on 8888 with no proxy or authentication and chmod 777 on /opt/dinky, so the application's own classpath, launch scripts, and static assets are writable. Demonstrated impact: overwriting /opt/dinky/config/static/index.html served attacker JavaScript to admin browsers immediately, and writing /opt/dinky/org/dinky/Dinky.class executed attacker code as the Dinky service account at the next JVM start via a classpath-shadow launched by script/bin/auto.sh. Writes are uid 9999 (flink), not root, so /etc, /root, /home, and /usr are refused. Affects Dinky v1.2.5 (the current release) and the development branch, where the code is byte-identical.
A vulnerability in Dinky version 1.2.5 and the development branch allows for unauthenticated arbitrary file writes via the POST /download/uploadFromRsByLocal handler. The vulnerability arises because the handler directly uses the caller-supplied path parameter to create a new File object and transfer uploaded files, without any path validation. This route is excluded from the Sa-Token interceptor, leaving only a header check against a hardcoded token value. As a result, anyone who can access Dinky's HTTP port (8888 by default) and provides the default token can write arbitrary files as the Dinky service account. The vulnerability is particularly impactful because the default Docker image runs on port 8888 with no proxy or authentication, and grants write permissions to the application's classpath, launch scripts, and static assets.
Users are advised to update to the latest version of Dinky where this vulnerability has been fixed. If an immediate update is not possible, do not expose the Dinky port to untrusted networks or the internet, and change the dinkyToken value away from the default.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Aug 6, 2026CISA-ADP
Assessed Aug 8, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/DataLinkDC/dinky | [email protected] | ProductVendor |
| https://github.com/DataLinkDC/dinky/issues/4566 | [email protected] | ExploitIssue TrackingTechnical DescriptionVendor |
| https://github.com/DataLinkDC/dinky/security/advisories/GHSA-2p66-w3p3-5226 | [email protected] | AdvisoryBroken LinkVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-434 | Unrestricted Upload of File with Dangerous Type | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| DataLinkDC Dinky | 1.2.5 (semver) dev |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Aug 8, 2026 | CVE Modified | CISA-ADP |
| Aug 6, 2026 | New CVE Received | [email protected] |
Volerion