{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-76806","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","state":"PUBLISHED","assignerShortName":"GitHub_M","dateReserved":"2026-08-19T19:52:28.212Z","datePublished":"2026-11-04T19:31:54.604Z","dateUpdated":"2026-11-04T19:31:54.604Z"},"containers":{"cna":{"title":"Solidtime: Path Traversal in Toggl ZIP Data Importer - arbitrary directory creation + filesystem existence oracle","problemTypes":[{"descriptions":[{"cweId":"CWE-22","lang":"en","description":"CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","type":"CWE"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":6.3,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L","version":"3.1"}}],"references":[{"name":"https://github.com/solidtime-io/solidtime/security/advisories/GHSA-cj49-589g-wp6j","tags":["x_refsource_CONFIRM"],"url":"https://github.com/solidtime-io/solidtime/security/advisories/GHSA-cj49-589g-wp6j"},{"name":"https://github.com/solidtime-io/solidtime/commit/53ecc585092e0d8fea651c1342b7acce64c601be","tags":["x_refsource_MISC"],"url":"https://github.com/solidtime-io/solidtime/commit/53ecc585092e0d8fea651c1342b7acce64c601be"},{"name":"https://github.com/solidtime-io/solidtime/releases/tag/v0.16.0","tags":["x_refsource_MISC"],"url":"https://github.com/solidtime-io/solidtime/releases/tag/v0.16.0"}],"affected":[{"vendor":"solidtime-io","product":"solidtime","versions":[{"version":"< 0.16.0","status":"affected"}]}],"providerMetadata":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-11-04T19:31:54.604Z"},"descriptions":[{"lang":"en","value":"Solidtime is an open-source time-tracking app. Prior to 0.16.0, TogglDataImporter::importData() read attacker-controlled project id values from projects.json in uploaded ZIP imports and concatenated them into filesystem paths without validation. Because Spatie\\TemporaryDirectory\\TemporaryDirectory::path() creates missing parent directories, traversal sequences could escape the temporary sandbox and create directories at arbitrary writable host paths. Distinguishable ImportController responses for existing versus missing targets exposed whether suffix-constrained host paths derived from projects_users/{id}.json or tasks/{id}.json existed, because the importer always appended .json. Any registered user able to create an organization and use POST /api/v1/organizations/{org}/import with type=toggl_data_importer could reach the flaw, potentially causing minor availability impact through directory exhaustion and disclosing host layout information. This issue is fixed in version 0.16.0."}],"source":{"advisory":"GHSA-cj49-589g-wp6j","discovery":"UNKNOWN"}}}}