{"items":[{"id":"NVI-00017608","kind":"vulnerability","title":"skillctl: argument injection, path traversal in --dest, FIFO/device DoS, hardlink exfiltration, and commit-trailer forgery","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-74p7-6h78-gw8p"],"plain_summary":"GitHub lists this reviewed advisory for skillctl. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-2d850dc653465bf0a40bd0037d01ed7b"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-2d850dc653465bf0a40bd0037d01ed7b","url":"https://github.com/advisories/GHSA-74p7-6h78-gw8p","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-74p7-6h78-gw8p","publisher":"GitHub Advisory Database","observed_at":"2026-11-05T19:06:16.668Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-2d850dc653465bf0a40bd0037d01ed7b"],"technology":"skillctl","known_exclusions":[],"conditions_summary":"## Impact\n\nFollowing the path-safety patches in GHSA-wx3m-whqv-xv47 (v0.1.2), a comprehensive multi-angle audit surfaced five further vulnerabilities, now patched in v0.1.3:\n\n1. **`source_sha` argument injection in `git ls-tree` (CRITICAL).** `InstalledSkill.source_sha` deserialized from `.skills.toml` (committed, PR-mergeable) flowed unvalidated into `git ls-tree -r -z  -- `. Because the refspec sits before `--`, an attacker who slipped a malicious `.skills.toml` into a PR could set `source_sha = \"--name-only\"` / `--abbrev=0` / `--output=…` and corrupt the diff classifier (which drives `pull` / `push` destructive decisions), or forge a divergence state to trick `push --on-divergence overwrite` into clobbering the wrong content.\n2. **FIFO / device / socket denial-of-service in `copy_dir_all` (CRITICAL).** The file-type branch only checked `is_dir()` / `is_symlink()`; a FIFO inside a skill folder fell through to `fs::copy`, which blocks indefinitely waiting for a writer. A character device like `/dev/zero` would read until OOM. Reachable on `skillctl add` against any adversarial libra","public_affected_ranges":["< 0.1.3"]}],"null_published_at":"2026-11-05T19:10:21.426Z","source_updated_at":"2026-06-22T22:45:16.000Z","source_disclosed_at":"2026-06-22T22:45:16.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-05T19:06:16.668Z"}],"next_cursor":null,"snapshot_revision":"42594"}