Description
Dinky's SysConfigController.getAll() handler for GET /api/sysConfig/getAll carries a method-level @SaIgnore annotation that short-circuits the class-level @SaCheckLogin, so the Sa-Token interceptor lets the request through with no session or role check. Any remote unauthenticated caller who can reach the Dinky HTTP port (8888 by default) receives the full live system configuration (54 entries on a stock v1.2.5 install) with one parameterless GET. Only one credential field (sys.maven.settings.repositoryPassword) has a desensitization handler wired; the other credential-bearing fields (sys.env.settings.dinkyToken, sys.ldap.settings.userPassword, sys.resource.settings.oss.accessKey and secretKey, and sys.dolphinscheduler.settings.token) return in cleartext. A bare install leaks the shipped defaults, including the hardcoded dinkyToken efda1551-7958-4e0f-80a8-dfd107df3e38 and minioadmin/minioadmin OSS keys; once an operator configures LDAP, object storage, or DolphinScheduler through the Settings Center, those live third-party credentials leak from the same endpoint. Because dinkyToken is the sole gate on the sibling POST /download/uploadFromRsByLocal arbitrary file write, this disclosure defeats token rotation as a mitigation for that vulnerability. Affects Dinky v1.2.5 (the current release, 2025-11-05) and the development branch (dev HEAD 63b5a5a), where the affected code is byte-identical.
Published: 2026-08-06
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw in Dinky’s SysConfigController allows any remote caller who can reach port 8888 to retrieve the entire system configuration through a simple unauthenticated GET request to /api/sysConfig/getAll. The controller method is protected by a @SaIgnore annotation that bypasses the class‑level @SaCheckLogin check, so the Sa‑Token interceptor does not perform any session or role validation. As a result, 54 configuration entries are returned, including several credential‑bearing fields that are exposed in cleartext, such as sys.env.settings.dinkyToken, sys.ldap.settings.userPassword, sys.resource.settings.oss.accessKey and secretKey, and sys.dolphinscheduler.settings.token. The hard‑coded dinkyToken and minioadmin credentials that ship with a fresh installation are also leaked, and any credentials set via the Settings Center are also exposed. The disclosed dinkyToken is the single token that protects the arbitrary file‑write endpoint, so a credential leak directly undermines that mitigation.

Affected Systems

DataLinkDC’s Dinky is affected in its 1.2.5 release (the current version as of 2025‑11‑05) and the development branch at commit 63b5a5a. The vulnerability exists in the source code that is byte‑identical between these two branches.

Risk and Exploitability

With a CVSS score of 8.7 the vulnerability is classified as high severity. No EPSS score is published, and the issue is not listed in the CISA KEV catalog, however the lack of any authentication requirement and the fact that the vulnerable endpoint is exposed on the default HTTP port mean that an attacker can reliably exploit the flaw from any network location that can reach port 8888. Once exploited, an attacker gains full visibility into the system configuration and any third‑party credentials, enabling further compromise such as arbitrary file writes, LDAP or OSS credential theft, and full domination of the Dinky instance.

Generated by OpenCVE AI on August 7, 2026 at 00:52 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Dinky to the latest version that removes the @SaIgnore bypass and fixes credential leakage.
  • Restrict access to the HTTP port 8888 by configuring firewall rules or VPN to allow only trusted IP addresses.
  • Change all default and hardcoded credentials—including the dinkyToken and OSS minioadmin keys—and verify that sensitive configuration fields are protected from exposure.
  • Ensure that any custom third‑party credentials are re‑configured to use secure storage and that the file‑write endpoint is adequately authenticated.

Generated by OpenCVE AI on August 7, 2026 at 00:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 06 Aug 2026 22:15:00 +0000

Type Values Removed Values Added
Description Dinky's SysConfigController.getAll() handler for GET /api/sysConfig/getAll carries a method-level @SaIgnore annotation that short-circuits the class-level @SaCheckLogin, so the Sa-Token interceptor lets the request through with no session or role check. Any remote unauthenticated caller who can reach the Dinky HTTP port (8888 by default) receives the full live system configuration (54 entries on a stock v1.2.5 install) with one parameterless GET. Only one credential field (sys.maven.settings.repositoryPassword) has a desensitization handler wired; the other credential-bearing fields (sys.env.settings.dinkyToken, sys.ldap.settings.userPassword, sys.resource.settings.oss.accessKey and secretKey, and sys.dolphinscheduler.settings.token) return in cleartext. A bare install leaks the shipped defaults, including the hardcoded dinkyToken efda1551-7958-4e0f-80a8-dfd107df3e38 and minioadmin/minioadmin OSS keys; once an operator configures LDAP, object storage, or DolphinScheduler through the Settings Center, those live third-party credentials leak from the same endpoint. Because dinkyToken is the sole gate on the sibling POST /download/uploadFromRsByLocal arbitrary file write, this disclosure defeats token rotation as a mitigation for that vulnerability. Affects Dinky v1.2.5 (the current release, 2025-11-05) and the development branch (dev HEAD 63b5a5a), where the affected code is byte-identical.
Title Dinky Unauthenticated System Configuration and Credential Disclosure via GET /api/sysConfig/getAll
Weaknesses CWE-306
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}

cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-06T19:36:36.228Z

Reserved: 2026-08-04T19:19:05.906Z

Link: CVE-2026-70559

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-07T01:00:05Z

Weaknesses
  • CWE-306

    Missing Authentication for Critical Function