GHSA-22mg-8gw7-636x
Path traversal and arbitrary directory deletion/overwrite via agent profile import in local-operator
GHSA-22mg-8gw7-636x is a critical vulnerability (CVSS 9.1) in local-operator, published September 5, 2026. No source lists public exploit code. Fixed in local-operator 0.47.5.
- Severity
- 9.1 CriticalCVSS 3.1, OSV
- Exploit chance
- UnscoredNo EPSS score yet
- Exploitation
- None knownNot on CISA’s or ENISA’s lists
- Fixed in
0.47.5local-operator
Description
The /v1/agents/import endpoint and AgentRegistry.import_agent() in local-operator versions before 0.47.5 trust the id field inside agent.yml of an uploaded agent profile archive when constructing the destination directory. A crafted id containing directory traversal sequences makes shutil.rmtree and shutil.copy2 operate outside the agent registry, allowing an unauthenticated client with network access to the API to recursively delete arbitrary directories and write files with the privileges of the server process. Even without traversal, an imported archive could overwrite or delete existing local agent profiles.
Version 0.47.5 assigns a fresh server-generated identifier to every imported profile, never derives a filesystem path from archive metadata, creates destination directories exclusively, and binds lop serve to 127.0.0.1 by default.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- High
Affected packages
| Package | Affected | Fixed |
|---|---|---|
local-operatorPyPI | before 0.47.5, plus listed versions 0.0.10.0.100.0.110.0.120.0.13 Show 45 moreShow less0.0.140.0.150.0.160.0.170.0.180.0.190.0.20.0.200.0.210.0.220.0.230.0.240.0.250.0.260.0.270.0.280.0.290.0.30.0.40.0.50.0.60.0.70.0.90.1.00.1.10.1.20.1.30.1.3b00.1.40.1.50.1.60.1.70.10.00.11.00.11.10.11.20.11.30.11.40.12.00.12.10.13.00.14.00.14.10.14.20.15.0 | 0.47.5 |
What each source reports
OSV Score usedPYSEC-2026-4009 9.1
Path traversal and arbitrary directory deletion/overwrite via agent profile import in local-operator
The /v1/agents/import endpoint and AgentRegistry.import_agent() in local-operator versions before 0.47.5 trust the id field inside agent.yml of an uploaded agent profile archive when constructing the destination directory. A crafted id containing directory traversal sequences makes shutil.rmtree and shutil.copy2 operate outside the agent registry, allowing an unauthenticated client with network access to the API to recursively delete arbitrary directories and write files with the privileges of the server process. Even without traversal, an imported archive could overwrite or delete existing local agent profiles.
Version 0.47.5 assigns a fresh server-generated identifier to every imported profile, never derives a filesystem path from archive metadata, creates destination directories exclusively, and binds lop serve to 127.0.0.1 by default.
- Record
PYSEC-2026-4009- CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H - Weakness
- CWE-22
- Updated
- 2026-11-02
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
References
Left out here: 600 versions. The JSON record has them.