The vulnerability is a classic path traversal issue in OliveTin's saveLogs feature. The root cause is the lack of input sanitization for the UniqueTrackingId field provided by the user in the StartAction API request. This ID is used to construct log file names. An attacker could provide a malicious ID containing directory traversal sequences (e.g., ../../../), allowing them to write log files to arbitrary locations on the filesystem.
The analysis of the provided patch commit 2f77000de44f65690f257e3cf8e2c8462b0e74c7 confirms this. The patch makes changes to service/internal/executor/executor.go. The core of the fix is within the Executor.ExecRequest function. Previously, the code only checked if the TrackingID was a duplicate or empty. The patch introduces a call to a new function, isValidTrackingID, which validates the TrackingID against a regular expression, ensuring it only contains characters suitable for a filename.
Therefore, the primary vulnerable function is Executor.ExecRequest, as it was responsible for accepting the untrusted TrackingID without proper validation. The newly added isValidTrackingID function is a direct indicator of the mitigation strategy. During exploitation, a runtime profile would show a call to Executor.ExecRequest processing the malicious request.