Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-reachable endpoint whose only guard is a hardcoded, publicly known token, so PR:N/AC:L; arbitrary file write yields code execution as the service account, giving full C/I/A.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
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.
Articles & Coverage 1
AnalysisAI
Unauthenticated arbitrary file write in Dinky v1.2.5 and its byte-identical development branch lets anyone who can reach the HTTP port (8888 by default) overwrite files as the Dinky service account, because the POST /download/uploadFromRsByLocal handler feeds a caller-supplied path straight into new File(path) and transferTo(dest) with no validation. The route is exempt from Sa-Token auth and guarded only by a header check against a dinkyToken whose default value is hardcoded in source and shipped to every install, so the guard is effectively no guard. The researcher (VulnCheck) demonstrated full remote code execution by shadowing Dinky.class on the writable, chmod-777 classpath and by planting attacker JavaScript in the served index.html; there is no public exploit identified at time of analysis and it is not in CISA KEV, but the disclosure describes a working demonstration.
Technical ContextAI
Dinky is an open-source real-time data-development and management platform (an IDE/console) for Apache Flink SQL jobs, distributed by DataLinkDC and commonly run as a standalone Java/Spring service. The flaw is classed as CWE-434 (unrestricted file upload) but in practice behaves as an arbitrary file write / path-injection: the /download/uploadFromRsByLocal endpoint constructs a java.io.File directly from the untrusted path parameter and writes the multipart upload there via MultipartFile.transferTo, so an attacker fully controls the destination path and contents. Two framework decisions remove the normal authentication: the handler carries the @SaIgnore annotation and the entire /download/** tree is excluded from the Sa-Token interceptor, leaving only a plaintext equality check on the dinkyToken header. The default token (efda1551-7958-4e0f-80a8-dfd107df3e38) is a compile-time constant present in the shipped source. In the official Docker image the process listens on 8888 with no reverse proxy or auth and /opt/dinky is chmod 777, so the JVM classpath, launch scripts (script/bin/auto.sh), and static web assets are all writable by the service.
RemediationAI
No vendor-released patched version is identified in the available data; the referenced material is a GitHub issue (#4566) and security advisory GHSA-2p66-w3p3-5226 rather than a tagged fixed release, so monitor those and the DataLinkDC/dinky repository for a patched build and upgrade to it once published. Until then, do not expose Dinky's port 8888 to untrusted networks - bind it to localhost or place it behind a reverse proxy that enforces real authentication and blocks the /download/** path, accepting that this may break legitimate resource-download features. Change the dinkyToken from the hardcoded default (efda1551-7958-4e0f-80a8-dfd107df3e38) to a strong secret, which raises the bar even though the endpoint remains architecturally exposed. Harden the container by removing the chmod 777 on /opt/dinky and running with a read-only classpath so that even a successful write cannot shadow Dinky.class or launch scripts; note this can interfere with features that legitimately write into that tree. Network-restrict access to the service to trusted operators only as a compensating control. Advisory URLs: https://github.com/DataLinkDC/dinky/security/advisories/GHSA-2p66-w3p3-5226 and https://github.com/DataLinkDC/dinky/issues/4566.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2
Same technique File Upload
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-54235
GHSA-7crv-rq8j-wxc3