SYS::ONLINE
Wasteland.
Briefs1769
Issues22
SinceFeb 2026
LIVE
⚡ Active KEV CVE-2026-70558 2026-08-06

CVE-2026-70558: Unauthenticated Arbitrary File Write in Dinky Leads to Code Execution

"A critical flaw in DataLinkDC's Dinky (CVSS 9.8) lets anyone who can reach the service's HTTP port write arbitrary files using a token that ships hardcoded in every deployment."

A critical flaw in DataLinkDC's Dinky (CVSS 9.8) lets anyone who can reach the service's HTTP port write arbitrary files using a token that ships hardcoded in every deployment.

What Is It

According to the GitHub security advisory (GHSA-2p66-w3p3-5226) and the accompanying report in DataLinkDC/dinky issue #4566, 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. Those same sources describe the route as marked @SaIgnore, with /download/** excluded from the Sa-Token interceptor, leaving a header equality check against a dinkyToken value as the only remaining guard. The report identifies that token's default, efda1551-7958-4e0f-80a8-dfd107df3e38, as hardcoded in source and shipped to every deployment.

Tracked as CWE-434 (unrestricted file upload), the issue carries a CVSS 3.1 base score of 9.8 CRITICAL (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) and a CVSS 4.0 score of 9.3.

Why It Matters

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. Per the advisory and issue report, the default Docker image runs on 8888 with no proxy or authentication and chmod 777 on /opt/dinky, leaving the application's own classpath, launch scripts, and static assets writable.

The issue report describes two impacts. Overwriting /opt/dinky/config/static/index.html is reported to serve attacker JavaScript to any administrator who subsequently loads the web UI. Writing /opt/dinky/org/dinky/Dinky.class is reported to execute attacker code as the Dinky service account at the next JVM start, via a classpath shadow launched by script/bin/auto.sh. Both are drawn from the reporter's account rather than independent reproduction in this source material.

The same report indicates the blast radius has a floor: writes are said to run as uid 9999 (flink), not root, so paths such as /etc, /root, /home, and /usr are refused. That constrains the reach of the write without reducing the severity of what remains writable.

What's Vulnerable

Default Docker deployments are the worst case: port 8888 exposed, no proxy, no authentication, world-writable install directory.

Patch Status

The supplied NVD record lists the CVE as Received (published 2026-08-06) and does not identify a fixed version or specify required remediation actions. No CISA KEV entry was supplied, so there is no confirmation of active exploitation in this source material. Consult the vendor's GitHub security advisory below for fix availability.

Sources