GHSA-763j-3p5v-jfc6 json
androidqf: APK download Path Traversal in device APK paths
published 5mo ago modified 4mo ago also GO-2026-5206
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
### Summary During device acquisition, `getPathToLocalCopy()` constructs local filesystem paths for downloaded APKs using a filename component extracted by `extractFileName()`. The extraction splits on `==/` and takes the remainder without sanitization. If a compromised device returns a crafted APK path containing traversal sequences, `filepath.Join` resolves them, allowing the file to be written outside the intended `apks/` directory.
Practical exploitability is limited because Android enforces strict package path formats under `/data/app/` and does not allow apps to register paths containing traversal sequences. Rated Informational as a defense-in-depth concern.
### Impact An attacker with control of the connected device could potentially write files outside the expected output directory on the acquisition workstation, leading to arbitrary file overwrite with attacker-controlled content.
### Patched version [1.8.3](https://github.com/mvt-project/androidqf/releases/tag/v1.8.3)
### Credits - This issue was identified during a security assessment conducted by 0xche. - An additional vulnerability was independently identified by @0x0v1
Patch / fix
- go github.com/mvt-project/androidqf 1.8.3
Is GHSA-763j-3p5v-jfc6 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/mvt-project/androidqf | <1.8.3 |
1.8.3 |
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
Sources
- GitHub Advisory GHSA-763j-3p5v-jfc6
- OSV GO-2026-5206
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.