# GHSA-5g3j-89fr-r2vp: skilleton has improper input handling in repository/path processing

> Crafted input in skilleton can trigger unsafe path processing behavior, potentially leading to resource exhaustion or logic errors.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Not stated
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 8 Apr 2026

## What is GHSA-5g3j-89fr-r2vp?

GHSA-5g3j-89fr-r2vp is a path traversal vulnerability in skilleton, published on 8 Apr 2026. 

### Official description

## Summary

`skilleton` versions prior to `0.3.1` include security-related weaknesses in repository normalization and path handling logic.  
Version `0.3.1` contains fixes and additional test coverage for these issues.

## Affected Versions

`<0.3.1`

## Patched Versions

`>=0.3.1`

## Impact

In affected versions, crafted input could trigger unsafe or inefficient behavior in repository/path processing code paths.  
`0.3.1` mitigates this by:
- replacing vulnerable parsing behavior with deterministic logic,
- validating subpaths earlier before allocating git worktree resources,
- adding stricter and broader regression tests around these flows.

## Severity

Low to Moderate (project-maintainer assessed)

## Mitigation

Upgrade to `0.3.1` or later.

## Workarounds

No complete workaround is recommended other than upgrading.

## References

- Branch: [`fix/security-code-scanning-alerts`](https://github.com/Fcmam5/skilleton/pull/9)
- Commits:
  - [fix(security): harden git arg handling and path validation](https://github.com/Fcmam5/skilleton/pull/9/changes/42bc280ad675bfaa7b1bbc192330fb582bb28172)
  - [fix(security): use while loop in normalizeRepoUrl instead of regex](https://github.com/Fcmam5/skilleton/pull/9/changes/6613160803ec8655efee9a270eeaa767ad22da8b)
- Security Policy: [SECURITY.md](https://github.com/Fcmam5/skilleton/blob/master/SECURITY.md)

## Credits

Detected through automated code scanning and remediated by project maintainers.

## Which versions are affected by GHSA-5g3j-89fr-r2vp?

2 open source packages ship an affected version, including skilleton.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `skilleton` | npm | All versions | 0.3.1 |
| `skilleton` | npm | All versions | 0.3.1 |

## How do I fix GHSA-5g3j-89fr-r2vp?

Upgrade skilleton to 0.3.1 or later.

## Is GHSA-5g3j-89fr-r2vp being exploited?

There is no known exploitation of GHSA-5g3j-89fr-r2vp in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for GHSA-5g3j-89fr-r2vp and fix it if it is affected.

What it is: GHSA-5g3j-89fr-r2vp is a path traversal vulnerability in skilleton, published on 8 Apr 2026. 
Exploitation: There is no known exploitation of GHSA-5g3j-89fr-r2vp in the wild and no public exploit code.

Affected packages and fixed versions:
- skilleton (npm): affected all versions; fixed in 0.3.1
- skilleton (npm): affected all versions; fixed in 0.3.1

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/GHSA-5g3j-89fr-r2vp/ (Markdown: https://insights.sbomify.com/GHSA-5g3j-89fr-r2vp/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/GHSA-5g3j-89fr-r2vp

---
From sbomify Insights: https://insights.sbomify.com/GHSA-5g3j-89fr-r2vp/
Summaries are generated and may contain mistakes; the official description above is the record.
