Description
Vibe-Trading before 0.1.10 builds the proposal file path by joining a caller-supplied proposal identifier onto the broker proposals directory without sanitization (agent/src/live/mandate/commit.py). A proposal identifier containing path traversal sequences causes the application to load an attacker-controlled JSON file as an authoritative live trading mandate. Combined with the file upload endpoint, an admitted caller can write a JSON file to a known location and traverse to it, and because the ceilings validation is skipped when ceilings are absent, the attacker fully controls the committed mandate.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| HKUDS | Vibe-Trading | < 0.1.10 | 0.1.10 |
References
- Vibe-Trading 0.1.10 Release Notes release-notes
- Fix PR issue-tracking patch
- Fix Commit patch
- https://www.vulncheck.com/advisories/vibe-trading-path-traversal-in-proposal-identifier-allows-forging-live-trading-mandates third-party-advisory