GHSA-4q5v-7g7x-j79w
compliance-trestle - jinja has an Arbitrary File Write via Path Traversal
상세
**Relevant Products/Components:**
* `trestle/core/commands/author/jinja.py` * `trestle author jinja`
---
## Detailed Description:
The `-o/--output` argument in `trestle author jinja` allows writing files outside the intended workspace.
The application does not properly validate:
* `../` * `..\` * absolute paths
This allows arbitrary file write to attacker-controlled locations.
Vulnerable code:
```python output_file = trestle_root / r_output_file ```
An attacker can overwrite files such as:
* `.github/workflows/*.yml` * `.git/hooks/*` * user writable config files
This can lead to CI/CD compromise or local code execution.
---
## Steps To Reproduce:
1. Clone the repository:
```bash git clone https://github.com/oscal-compass/compliance-trestle.git cd compliance-trestle ```
2. Create template:
```bash echo "hello" > template.j2 ```
3. Run:
```powershell trestle author jinja -i template.j2 -o "subdir\..\..\..\..\..\poc.txt" ```
4. Observe:
```powershell dir E:\poc.txt ```
The file is written outside the repository workspace.
---
## Browsers Verified In:
Not browser related.
Tested on:
* Windows 11 * Python 3.13
---
## Supporting Material/References:
Affected file:
```text trestle/core/commands/author/jinja.py ```
Successfully verified:
* directory traversal using `../` * Windows traversal using `..\` * arbitrary file write outside workspace
---
## Access Vector Required for Exploitation:
Local
---
## Vulnerability Exists in Default Configuration?:
Yes
---
## Is the exploitation trivial or does it involve a multi-step process that may depend on user/victim interaction?:
Trivial. Single command execution.
---
## Exploitation Requires Authentication?:
No
---
## Under what privileges does the vulnerable service or component run?:
Runs with privileges of the user executing the `trestle` command.
## Impact
An attacker can write files outside the intended workspace directory and overwrite sensitive files writable by the current user.
Possible impacts include:
* overwriting `.github/workflows/*.yml` to execute attacker-controlled GitHub Actions workflows * overwriting `.git/hooks/*` for local code execution * modifying user configuration files such as `.bashrc` * tampering with repository files and generated compliance artifacts
In CI/CD environments, this may result in execution of attacker-controlled commands on build runners.
이 버전이 영향받나요?
사용 중인 패키지 버전을 입력하면 즉시 평가합니다.
영향 패키지
4.0.0 수정 버전: 4.0.3 pip install --upgrade 'compliance-trestle>=4.0.3' 0 수정 버전: 3.12.2 pip install --upgrade 'compliance-trestle>=3.12.2' 참고
- https://github.com/oscal-compass/compliance-trestle/security/advisories/GHSA-4q5v-7g7x-j79w [WEB]
- https://github.com/oscal-compass/compliance-trestle/commit/247fcce289f60103f3d8e28d8ec51a6986b94fb6 [WEB]
- https://github.com/oscal-compass/compliance-trestle/commit/7d107b3ac53caca7bde97a6278b23cd739d94525 [WEB]
- https://github.com/oscal-compass/compliance-trestle [PACKAGE]