CVE-2026-70559
Dinky Unauthenticated System Configuration and Credential Disclosure via GET /api/sysConfig/getAll
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.
INFO
Published Date :
Aug. 6, 2026, 10:18 p.m.
Last Modified :
Oct. 24, 2026, 3:10 p.m.
Remotely Exploit :
Yes !
Source :
[email protected]
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | HIGH | 83251b91-4cc7-4094-a5c7-464a1b83ea10 | ||||
| CVSS 3.1 | HIGH | [email protected] | ||||
| CVSS 3.1 | HIGH | MITRE-CVE | ||||
| CVSS 4.0 | HIGH | 83251b91-4cc7-4094-a5c7-464a1b83ea10 | ||||
| CVSS 4.0 | HIGH | [email protected] |
Solution
- Remove the @SaIgnore annotation from the SysConfigController.getAll() method.
- Implement proper authentication and authorization checks.
- Review and desensitize all sensitive configuration fields.
- Apply the latest security patches and updates.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-70559.
| URL | Resource |
|---|---|
| https://github.com/DataLinkDC/dinky | |
| https://github.com/DataLinkDC/dinky/issues/4567 | |
| https://github.com/DataLinkDC/dinky/security/advisories/GHSA-c48m-x2xw-32rj |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-70559 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-70559
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-70559 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-70559 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Translated by [email protected]
Oct. 24, 2026
Action Type Old Value New Value Changed Translation Title: Dinky de DataLinkDC, Description: El gestor SysConfigController.getAll() de Dinky para GET /api/sysConfig/getAll lleva una anotación @SaIgnore a nivel de método que cortocircuita la anotación @SaCheckLogin a nivel de clase, por lo que el interceptor Sa-Token permite que la solicitud pase sin comprobación de sesión ni de rol. Cualquier llamador remoto no autenticado que pueda alcanzar el puerto HTTP de Dinky (8888 por defecto) recibe la configuración completa del sistema en vivo (54 entradas en una instalación estándar v1.2.5) con un GET sin parámetros. Solo un campo de credencial (sys.maven.settings.repositoryPassword) tiene un gestor de desensibilización cableado; los otros campos que contienen credenciales (sys.env.settings.dinkyToken, sys.ldap.settings.userPassword, sys.resource.settings.oss.accessKey y secretKey, y sys.dolphinscheduler.settings.token) se devuelven en texto claro. Una instalación básica filtra los valores predeterminados enviados, incluyendo el dinkyToken codificado efda1551-7958-4e0f-80a8-dfd107df3e38 y las claves OSS minioadmin/minioadmin; una vez que un operador configura LDAP, el almacenamiento de objetos o DolphinScheduler a través del Centro de Configuración, esas credenciales de terceros en vivo se filtran desde el mismo endpoint. Debido a que dinkyToken es la única puerta en la escritura arbitraria de archivos del POST /download/uploadFromRsByLocal hermano, esta divulgación anula la rotación de tokens como una mitigación para esa vulnerabilidad. Afecta a Dinky v1.2.5 (la versión actual, 2025-11-05) y a la rama de desarrollo (dev HEAD 63b5a5a), donde el código afectado es idéntico byte a byte. Title: Dinky de DataLinkDC, Description: El gestor SysConfigController.getAll() de Dinky para GET /api/sysConfig/getAll lleva una anotación @SaIgnore a nivel de método que cortocircuita la anotación @SaCheckLogin a nivel de clase, por lo que el interceptor Sa-Token permite que la solicitud pase sin comprobación de sesión ni de rol. Cualquier llamador remoto no autenticado que pueda alcanzar el puerto HTTP de Dinky (8888 por defecto) recibe la configuración completa del sistema en vivo (54 entradas en una instalación estándar v1.2.5) con un GET sin parámetros. Solo un campo de credencial (sys.maven.settings.repositoryPassword) tiene un gestor de desensibilización cableado; los otros campos que contienen credenciales (sys.env.settings.dinkyToken, sys.ldap.settings.userPassword, sys.resource.settings.oss.accessKey y secretKey, y sys.dolphinscheduler.settings.token) se devuelven en texto claro. Una instalación básica filtra los valores predeterminados enviados, incluyendo el dinkyToken codificado efda1551-7958-4e0f-80a8-dfd107df3e38 y las claves OSS minioadmin/minioadmin; una vez que un operador configura LDAP, el almacenamiento de objetos o DolphinScheduler a través del Centro de Configuración, esas credenciales de terceros en vivo se filtran desde el mismo endpoint. Debido a que dinkyToken es la única puerta en la escritura arbitraria de archivos del POST /download/uploadFromRsByLocal hermano, esta divulgación anula la rotación de tokens como una mitigación para esa vulnerabilidad. Afecta a Dinky v1.2.5 (la versión actual, 2025-11-05) y a la rama de desarrollo (dev HEAD 63b5a5a), donde el código afectado es idéntico byte a byte. -
CVE Translated by [email protected]
Oct. 23, 2026
Action Type Old Value New Value Added Translation Title: Dinky de DataLinkDC, Description: El gestor SysConfigController.getAll() de Dinky para GET /api/sysConfig/getAll lleva una anotación @SaIgnore a nivel de método que cortocircuita la anotación @SaCheckLogin a nivel de clase, por lo que el interceptor Sa-Token permite que la solicitud pase sin comprobación de sesión ni de rol. Cualquier llamador remoto no autenticado que pueda alcanzar el puerto HTTP de Dinky (8888 por defecto) recibe la configuración completa del sistema en vivo (54 entradas en una instalación estándar v1.2.5) con un GET sin parámetros. Solo un campo de credencial (sys.maven.settings.repositoryPassword) tiene un gestor de desensibilización cableado; los otros campos que contienen credenciales (sys.env.settings.dinkyToken, sys.ldap.settings.userPassword, sys.resource.settings.oss.accessKey y secretKey, y sys.dolphinscheduler.settings.token) se devuelven en texto claro. Una instalación básica filtra los valores predeterminados enviados, incluyendo el dinkyToken codificado efda1551-7958-4e0f-80a8-dfd107df3e38 y las claves OSS minioadmin/minioadmin; una vez que un operador configura LDAP, el almacenamiento de objetos o DolphinScheduler a través del Centro de Configuración, esas credenciales de terceros en vivo se filtran desde el mismo endpoint. Debido a que dinkyToken es la única puerta en la escritura arbitraria de archivos del POST /download/uploadFromRsByLocal hermano, esta divulgación anula la rotación de tokens como una mitigación para esa vulnerabilidad. Afecta a Dinky v1.2.5 (la versión actual, 2025-11-05) y a la rama de desarrollo (dev HEAD 63b5a5a), donde el código afectado es idéntico byte a byte. -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Aug. 07, 2026
Action Type Old Value New Value Added SSVC {'id': 'CVE-2026-70559', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'yes'}, {'technicalImpact': 'partial'}], 'version': '2.0.3', 'timestamp': '2026-08-07T16:10:34.490702Z'} -
New CVE Received by [email protected]
Aug. 06, 2026
Action Type Old Value New Value Added Affected [{'vendor': 'DataLinkDC', 'product': 'Dinky', 'versions': [{'status': 'affected', 'version': '0', 'versionType': 'semver', 'lessThanOrEqual': '1.2.5'}], 'defaultStatus': 'affected'}] 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. Added CVSS V4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/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 Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N Added CWE CWE-306 Added Reference https://github.com/DataLinkDC/dinky Added Reference https://github.com/DataLinkDC/dinky/issues/4567 Added Reference https://github.com/DataLinkDC/dinky/security/advisories/GHSA-c48m-x2xw-32rj