{"schema":"threatline.record/2","record":{"id":"CVE-2026-68549","aliases":["GHSA-vgf9-9mxx-hq54"],"summary":"ClickMigrate has Path Traversal in \"revision -m\" argument","details":"### Impact\nA path traversal vulnerability in the `revision` command allowed a crafted migration name supplied via the `-m` argument to escape the intended migrations directory.\n\nUnder specific conditions, an attacker could cause the tool to create a `.sql` file in an arbitrary location writable by the user executing the command.\n\nThis issue is only exploitable if an attacker can influence the migration name passed to the `revision` command, such as through an insecure automation or CI/CD pipeline that forwards untrusted input.\n\n### Patches\nThe vulnerability has been fixed in version 1.0.3 by validating and sanitizing the migration name to prevent directory traversal.\n\nUsers should upgrade to version 1.0.3 or later.\n\n### Workarounds\nDo not pass untrusted input to the `revision -m` argument.\n\nIf upgrading is not immediately possible, ensure that only trusted users or automation can invoke the `revision` command and that migration names are validated before being passed to the tool.\n\n### References\n- Fix commit: https://github.com/QueueForge/ClickMigrate/commit/6b1f2c0202630a82252b3331aa57e64327e112b6","categories":["Libraries & packages"],"product":"ClickMigrate","vendor":"","ecosystem":"pip","affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-vgf9-9mxx-hq54","source_modified_at":"2026-10-16T19:17:30Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"pip","name":"ClickMigrate"},"range":"< 1.0.3"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-vgf9-9mxx-hq54","source_modified_at":"2026-10-16T19:30:04.006715210Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"name":"clickmigrate","ecosystem":"PyPI","purl":"pkg:pypi/clickmigrate"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.3"}]}],"versions":["1.0.0"]}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-vgf9-9mxx-hq54","source_modified_at":"2026-10-16T19:17:30Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"pip","name":"ClickMigrate"},"version":"1.0.3"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-vgf9-9mxx-hq54","source_modified_at":"2026-10-16T19:30:04.006715210Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"name":"clickmigrate","ecosystem":"PyPI","purl":"pkg:pypi/clickmigrate"},"version":"1.0.3"}],"cvss":3.3,"severity":"Low","kev":{"listed":false},"epss":{"probability":null,"percentile":null,"score_date":null},"published_at":"2026-10-16T19:17:28Z","modified_at":"2026-10-16T19:30:04.006715210Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-vgf9-9mxx-hq54","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-16T19:17:30Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-vgf9-9mxx-hq54","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-16T19:30:04.006715210Z"}],"sources":["GitHub Advisory Database","OSV"],"references":[{"url":"https://github.com/QueueForge/ClickMigrate/security/advisories/GHSA-vgf9-9mxx-hq54","source":"GitHub Advisory Database"},{"url":"https://github.com/QueueForge/ClickMigrate/commit/6b1f2c0202630a82252b3331aa57e64327e112b6","source":"GitHub Advisory Database"},{"url":"https://github.com/advisories/GHSA-vgf9-9mxx-hq54","source":"GitHub Advisory Database"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-16T19:30:04.006715210Z","content_hash":"b0cee159550359ab26fa56dba50ea9014188a28f837198a2e48b88280788aad0"}}
