{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-70559 in the wild and no public exploit code.","fix":"No fix has been published for CVE-2026-70559 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-70559 is a high-severity missing authorization vulnerability in DataLinkDC Dinky, published on 6 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-70559 and fix it if it is affected.\n\nWhat it is: CVE-2026-70559 is a high-severity missing authorization vulnerability in DataLinkDC Dinky, published on 6 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-70559 in the wild and no public exploit code.\n\nAffected product: DataLinkDC Dinky. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-70559/ (Markdown: https://insights.sbomify.com/CVE-2026-70559/index.md)","id":"CVE-2026-70559","markdown":"https://insights.sbomify.com/CVE-2026-70559/index.md","name":"CVE-2026-70559","record":{"aliases":["GHSA-83jg-x5rh-3x8c","GHSA-c48m-x2xw-32rj"],"analysis":{"component_type":"web_application","fix_type":"patch","impacts":["data_read","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"Dinky data platform","requires_auth":"none","summary":"Unauthenticated attackers can access system configuration endpoints to steal cleartext credentials and bypass token-based file upload protections.","user_interaction":"not_required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"VulnCheck","cpe":[],"cvss":{"score":8.7,"severity":"high","source":"cna","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","version":"4.0"},"cwes":[{"id":"CWE-306","name":"Missing Authentication for Critical Functionality"}],"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.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":"2026-08-07","github_poc":1,"max_poc_stars":1,"metasploit":0,"nuclei":0,"refs":[{"date":"2026-08-07T02:56:57Z","kind":"github_poc","ref":"https://github.com/codeb0ssx/CVE-2026-70559-PoC","stars":1,"title":"CVE-2026-70559"}],"tier":"poc_unverified"},"has_fix":false,"headline":"Dinky Unauthenticated System Configuration and Credential Disclosure via GET /api/sysConfig/getAll","id":"CVE-2026-70559","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"missing_authorization","year":"2026"},"n_packages":0,"n_references":3,"next":{"headline":"Ultimate POS Stored XSS via First Name Field in Leave Notifications","id":"CVE-2026-70560"},"packages":[],"prev":{"headline":"Dinky Unauthenticated Arbitrary File Write via /download/uploadFromRsByLocal Gated Only by Hardcoded Default Token","id":"CVE-2026-70558"},"products":["Dinky"],"published":"2026-08-06","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"},{"class":"open","licence":"CC0","name":"PoC-in-GitHub"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-08-14","vendors":["DataLinkDC"]},"summary":"Unauthenticated attackers can access system configuration endpoints to steal cleartext credentials and bypass token-based file upload protections.","url":"https://insights.sbomify.com/CVE-2026-70559/"}