Read the docs
TI-2026-49279 Aliases CVE-2026-70558GHSA-7crv-rq8j-wxc3

Dinky Unauthenticated Arbitrary File Write via /download/uploadFromRsByLocal Gated Only by Hardcoded Default Token

Priority MEDIUM 50CWE-434Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
No fix listed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-434.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00819 57th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
DataLinkDCDinkyup to 1.2.5—No fix listedCNA
  • Dinky VendorDataLinkDC Affected up to 1.2.5 Fixed in — No fix listed CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:dinky:dinky:*:*:*:*:*:*:*:*——DataLinkDC
  • cpe:2.3:a:dinky:dinky:*:*:*:*:*:*:*:* Versions — — ·DataLinkDC

Remediation

No fixed version listed by the sources yet.

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-70558
  2. 2026-10-03 Alias added: GHSA-7crv-rq8j-wxc3

References

  • TI-2026-02637 DataLinkDC dinky OpenAPI Endpoint AppConfig.java addInterceptors missing authentication CVSS 4.0MEDIUM 6.9
  • TI-2026-02636 DataLinkDC dinky Flink Proxy Controller FlinkProxyController.java proxyUba server-side request forgery CVSS 4.0MEDIUM 5.3
  • TI-2026-02635 DataLinkDC dinky Project Name GitRepository.java getProjectDir path traversal CVSS 4.0MEDIUM 5.3
  • TI-2026-49280 Dinky Unauthenticated System Configuration and Credential Disclosure via GET /api/sysConfig/getAll CVSS 4.0HIGH 8.7
  • TI-2026-86783 Path traversal in DataLinkDC Dinky catalogue upload CVSS 4.0MEDIUM 5.3
  • TI-2026-85167 Server-side request forgery in DataLinkDC Dinky flink_web proxy CVSS 4.0MEDIUM 6.9

Sources