{"description":"Trending threats, MITRE ATT\u0026CK coverage, and detection metadata. Fed continuously.","feed_url":"https://feed.craftedsignal.io/tags/ci/cd-compromise/feed.json","home_page_url":"https://feed.craftedsignal.io/","items":[{"_cs_actors":[],"_cs_cpes":[],"_cs_cves":[],"_cs_exploited":false,"_cs_has_poc":false,"_cs_poc_references":[],"_cs_products":["compliance-trestle","github.com"],"_cs_severities":["high"],"_cs_tags":["arbitrary file write","path traversal","compliance-trestle","github actions","CI/CD compromise"],"_cs_type":"advisory","_cs_vendors":["GitHub"],"content_html":"\u003cp\u003eThe compliance-trestle application, specifically the \u003ccode\u003etrestle author jinja\u003c/code\u003e command, is susceptible to an arbitrary file write vulnerability due to insufficient validation of the output path. By manipulating the \u003ccode\u003e-o/--output\u003c/code\u003e argument, an attacker can write files to locations outside the intended workspace directory. This is because the application fails to properly sanitize path traversal characters such as \u003ccode\u003e../\u003c/code\u003e and \u003ccode\u003e..\\\u003c/code\u003e, as well as absolute paths. This vulnerability was reported on May 28, 2026. Successful exploitation can lead to overwriting critical files, potentially compromising CI/CD pipelines or enabling local code execution. This poses a significant risk to systems using compliance-trestle, particularly in automated environments where file integrity is crucial. The vulnerability affects compliance-trestle versions prior to 4.0.3 and versions up to 3.12.1.\u003c/p\u003e\n\u003ch2 id=\"attack-chain\"\u003eAttack Chain\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003eThe attacker gains local access to a system with compliance-trestle installed.\u003c/li\u003e\n\u003cli\u003eThe attacker crafts a malicious template file (e.g., \u003ccode\u003etemplate.j2\u003c/code\u003e) containing arbitrary content.\u003c/li\u003e\n\u003cli\u003eThe attacker executes the \u003ccode\u003etrestle author jinja\u003c/code\u003e command, specifying the malicious template file using the \u003ccode\u003e-i\u003c/code\u003e parameter.\u003c/li\u003e\n\u003cli\u003eThe attacker uses the \u003ccode\u003e-o\u003c/code\u003e parameter to specify an output path containing path traversal sequences (e.g., \u003ccode\u003esubdir\\..\\..\\..\\..\\..\\poc.txt\u003c/code\u003e) or an absolute path.\u003c/li\u003e\n\u003cli\u003eDue to insufficient validation, the application writes the content of the template file to the attacker-specified location outside the intended workspace.\u003c/li\u003e\n\u003cli\u003eThe attacker overwrites a sensitive file, such as \u003ccode\u003e.github/workflows/*.yml\u003c/code\u003e or \u003ccode\u003e.git/hooks/*\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIf a \u003ccode\u003e.github/workflows/*.yml\u003c/code\u003e file is overwritten, the next CI/CD run executes attacker-controlled code.\u003c/li\u003e\n\u003cli\u003eIf a \u003ccode\u003e.git/hooks/*\u003c/code\u003e file is overwritten, a subsequent \u003ccode\u003egit\u003c/code\u003e command executes attacker-controlled code.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"impact\"\u003eImpact\u003c/h2\u003e\n\u003cp\u003eSuccessful exploitation of this vulnerability allows an attacker to write arbitrary files outside the intended workspace directory, potentially overwriting sensitive files writable by the user running the \u003ccode\u003etrestle\u003c/code\u003e command. This can lead to various impacts, including CI/CD compromise by overwriting \u003ccode\u003e.github/workflows/*.yml\u003c/code\u003e files, resulting in the execution of attacker-controlled GitHub Actions workflows. Overwriting \u003ccode\u003e.git/hooks/*\u003c/code\u003e files can lead to local code execution when git commands are run. Additionally, user configuration files such as \u003ccode\u003e.bashrc\u003c/code\u003e can be modified, and repository files and generated compliance artifacts can be tampered with. In CI/CD environments, this can result in the execution of attacker-controlled commands on build runners, leading to potential data breaches or system compromise.\u003c/p\u003e\n\u003ch2 id=\"recommendation\"\u003eRecommendation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eApply the patch or upgrade to compliance-trestle version 4.0.3 or later to address CVE-2026-46345.\u003c/li\u003e\n\u003cli\u003eDeploy the Sigma rules provided in this brief to detect exploitation attempts.\u003c/li\u003e\n\u003cli\u003eImplement strict input validation on the \u003ccode\u003e-o/--output\u003c/code\u003e argument within \u003ccode\u003etrestle author jinja\u003c/code\u003e to prevent path traversal (reference vulnerability description).\u003c/li\u003e\n\u003cli\u003eMonitor file system events for suspicious file writes outside the intended workspace directory using process creation logs.\u003c/li\u003e\n\u003c/ul\u003e\n","date_modified":"2026-05-28T17:56:59Z","date_published":"2026-05-28T17:56:59Z","id":"https://feed.craftedsignal.io/briefs/2026-05-compliance-trestle-arbitrary-file-write/","summary":"The compliance-trestle application is vulnerable to arbitrary file write via path traversal; the `-o/--output` argument in `trestle author jinja` allows writing files outside the intended workspace due to improper validation of path traversal characters, leading to potential CI/CD compromise or local code execution by overwriting sensitive files such as `.github/workflows/*.yml` or `.git/hooks/*`.","title":"compliance-trestle Arbitrary File Write via Path Traversal","url":"https://feed.craftedsignal.io/briefs/2026-05-compliance-trestle-arbitrary-file-write/"}],"language":"en","title":"CraftedSignal Threat Feed — CI/CD Compromise","version":"https://jsonfeed.org/version/1.1"}