{"schema":"threatline.record/2","record":{"id":"CVE-2026-101894","aliases":["GHSA-hrh2-vp3x-79xf"],"summary":"@xhmikosr/decompress: Path traversal via symlink chain","details":"### Impact\n\nWhen extracting an untrusted archive with the default `decompress(input, output)` API, a crafted archive containing a chain of symlink entries can make a later entry resolve **outside** the output directory. The lexical containment checks pass, but the kernel follows the planted symlinks to a path outside `output`, letting an attacker write (and read) files outside the intended extraction directory. Overwriting startup scripts or configuration can lead to remote code execution.\n\nThis is a bypass of the hardening in GHSA-mp2f-45pm-3cg9. Any application that extracts attacker-controlled archives is affected.\n\n### Patches\n\nFixed in **11.1.4** (`latest`) and backported to **10.2.2** (`release-v10` dist-tag). Upgrade to one of these.\n\nThe unmaintained upstream `decompress` package shares this flaw and will not be patched. Migrate to `@xhmikosr/decompress@11.1.4` (or `@10.2.2`).\n\n### Workarounds\n\nNone. Do not extract untrusted archives on affected versions. If you cannot upgrade, validate entries out of band and reject any whose resolved path escapes the target directory.","categories":["Libraries & packages"],"product":"@xhmikosr/decompress","vendor":"XhmikosR","ecosystem":"npm","affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-hrh2-vp3x-79xf","source_modified_at":"2026-09-29T23:49:43Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@xhmikosr/decompress"},"range":">= 11.0.0, <= 11.1.3"},{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-hrh2-vp3x-79xf","source_modified_at":"2026-09-29T23:49:43Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@xhmikosr/decompress"},"range":"<= 10.2.1"},{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-hrh2-vp3x-79xf","source_modified_at":"2026-09-29T23:49:43Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"decompress"},"range":"<= 4.2.1"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-101894","source_modified_at":"2026-09-28T17:39:11.304Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"decompress","vendor":"XhmikosR","versions":[{"version":"< 10.2.2","status":"affected"},{"version":">= 11.0.0, < 11.1.4","status":"affected"}],"defaultStatus":null},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-101894","source_modified_at":"2026-09-28T17:39:11.304Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"decompress","vendor":"kevva","versions":[{"version":"<= 4.2.1","status":"affected"}],"defaultStatus":null},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-hrh2-vp3x-79xf","source_modified_at":"2026-09-30T00:00:03.842182309Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@xhmikosr/decompress","purl":"pkg:npm/%40xhmikosr/decompress"},"ranges":[{"events":[{"introduced":"11.0.0"},{"fixed":"11.1.4"}],"type":"SEMVER"}],"versions":[]},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-hrh2-vp3x-79xf","source_modified_at":"2026-09-30T00:00:03.842182309Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@xhmikosr/decompress","purl":"pkg:npm/%40xhmikosr/decompress"},"ranges":[{"events":[{"introduced":"0"},{"fixed":"10.2.2"}],"type":"SEMVER"}],"versions":[]},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-hrh2-vp3x-79xf","source_modified_at":"2026-09-30T00:00:03.842182309Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"decompress","purl":"pkg:npm/decompress"},"ranges":[{"events":[{"introduced":"0"},{"last_affected":"4.2.1"}],"type":"SEMVER"}],"versions":[]}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-hrh2-vp3x-79xf","source_modified_at":"2026-09-29T23:49:43Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@xhmikosr/decompress"},"version":"11.1.4"},{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-hrh2-vp3x-79xf","source_modified_at":"2026-09-29T23:49:43Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@xhmikosr/decompress"},"version":"10.2.2"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-hrh2-vp3x-79xf","source_modified_at":"2026-09-30T00:00:03.842182309Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@xhmikosr/decompress","purl":"pkg:npm/%40xhmikosr/decompress"},"version":"11.1.4"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-hrh2-vp3x-79xf","source_modified_at":"2026-09-30T00:00:03.842182309Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@xhmikosr/decompress","purl":"pkg:npm/%40xhmikosr/decompress"},"version":"10.2.2"}],"cvss":9.1,"severity":"Critical","kev":{"listed":false},"epss":{"probability":0.00814,"percentile":0.5661,"score_date":"2026-10-23"},"published_at":"2026-09-28T16:57:11.440Z","modified_at":"2026-09-30T00:00:03.842182309Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-hrh2-vp3x-79xf","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-09-29T23:49:43Z"},{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-101894","fetched_at":"2026-10-23T18:45:31.882637Z","source_modified_at":"2026-09-28T17:39:11.304Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-hrh2-vp3x-79xf","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-09-30T00:00:03.842182309Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-101894","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["GitHub Advisory Database","CVE List","OSV","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/XhmikosR/decompress/security/advisories/GHSA-hrh2-vp3x-79xf","tags":["x_refsource_CONFIRM"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-101894","source":"GitHub Advisory Database"},{"source":"CVE List","url":"https://github.com/XhmikosR/decompress/commit/5f4b2f64abb31bbaf1fef8975b595fd7df2558d8","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/XhmikosR/decompress/commit/f6c88c668216d6a12c6cecf4fe0b6c70bf77050a","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/XhmikosR/decompress/releases/tag/v10.2.2","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/XhmikosR/decompress/releases/tag/v11.1.4","tags":["x_refsource_MISC"]},{"url":"https://github.com/advisories/GHSA-hrh2-vp3x-79xf","source":"GitHub Advisory Database"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","ssvc":{"exploitation":"none","automatable":"yes","technical_impact":"total","assessed_at":"2026-09-28T17:38:56.943847Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-09-30T00:00:03.842182309Z","content_hash":"214369a3d21db4138799b4cbd0c7251d2381c7861c06fa91892383634444d82f"}}
