{"id":"CVE-2026-45419","summary":"DataEase: Arbitrary File Write Vulnerability","details":"DataEase is an open source data visualization and analysis tool. Prior to 2.10.23, DataEase template saves call TemplateManageService#save, StaticResourceServer#saveFilesToServe, and the /de2api/templateManage/save endpoint with attacker-controlled staticResource names and Base64 content, allowing path traversal and arbitrary file writes because only / was used when extracting the file name. This issue is fixed in version 2.10.23.","aliases":["GHSA-83fh-fgh3-g9f9"],"modified":"2026-08-12T16:24:36.859559Z","published":"2026-07-15T19:21:46.596Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45419.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-22"]},"references":[{"type":"WEB","url":"https://github.com/dataease/dataease/releases/tag/v2.10.23"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45419.json"},{"type":"ADVISORY","url":"https://github.com/dataease/dataease/security/advisories/GHSA-83fh-fgh3-g9f9"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45419"},{"type":"FIX","url":"https://github.com/dataease/dataease/commit/d34f413ef047bd275909d67310d200cbc8ae31ba"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/dataease/dataease","events":[{"introduced":"0"},{"fixed":"d34f413ef047bd275909d67310d200cbc8ae31ba"},{"fixed":"cd4844cc45049e73a53d65e3a58454a167a3dffb"}],"database_specific":{"source":["AFFECTED_FIELD","REFERENCES"],"extracted_events":[{"introduced":"0"},{"fixed":"2.10.23"}]}}],"versions":["v2.10.22","v2.10.21","v2.10.20","v2.10.19","v2.10.18","v2.10.17","v2.10.16","v2.10.15","v2.10.14","v2.10.13","v2.10.12","v2.10.11","v2.10.10","v2.10.9","v2.10.8","v2.10.7","v2.10.6","v2.10.5","v2.10.4","v2.10.3","v2.10.2","v2.10.1","v2.10.0","v2.6.0","v2.3.0","v2.2.0","v1.0.0"],"database_specific":{"vanir_signatures_modified":"2026-08-12T16:24:36Z","vanir_signatures":[{"digest":{"function_hash":"217566768007059921889462424777646663518","length":341},"id":"CVE-2026-45419-42241e55","signature_type":"Function","signature_version":"v1","source":"https://github.com/dataease/dataease/commit/d34f413ef047bd275909d67310d200cbc8ae31ba","target":{"file":"core/core-backend/src/main/java/io/dataease/visualization/server/StaticResourceServer.java","function":"saveFilesToServe"},"deprecated":false},{"deprecated":false,"digest":{"function_hash":"94960341536436113303959409302521589470","length":341},"id":"CVE-2026-45419-5ac8e9f9","signature_type":"Function","signature_version":"v1","source":"https://github.com/dataease/dataease/commit/d34f413ef047bd275909d67310d200cbc8ae31ba","target":{"file":"core/core-backend/src/main/java/io/dataease/visualization/server/StaticResourceServer.java","function":"findResourceAsBase64"}},{"signature_type":"Line","signature_version":"v1","source":"https://github.com/dataease/dataease/commit/d34f413ef047bd275909d67310d200cbc8ae31ba","target":{"file":"core/core-backend/src/main/java/io/dataease/visualization/server/StaticResourceServer.java"},"deprecated":false,"digest":{"line_hashes":["220763991352452788091241311443090732971","199371154451496528472283390293319523609","225705562134036637960892892412465665732","261514031115584915553138518735101797803","58817384093555617466865135134329453355","98782588715857993388150315888846347288","179125802914494683670055837291508213387","110464670270701603537903777121540626092","5784191614058260916523964179426482077","191030403299871298014566886997312975349","42143147124012976910063315104276883338","163445236806600980817472836903434722229","52350246681227432066035908075799118290"],"threshold":0.9},"id":"CVE-2026-45419-b4f2827c"}],"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-45419.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:H/SA:H"}]}