<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-01T04:18:18.738081+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cnvd-2026-16597</id>
    <title>cnvd-2026-16597</title>
    <updated>2026-10-01T04:18:18.800982+00:00</updated>
    <content>cnvd-2026-16597</content>
    <link href="https://vulnerability.circl.lu/vuln/cnvd-2026-16597"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/fkie_cve-2026-31817</id>
    <title>fkie_cve-2026-31817</title>
    <updated>2026-10-01T04:18:18.801387+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>OliveTin gives access to predefined shell commands from a web interface. Prior to 3000.11.2, when the saveLogs feature is enabled, OliveTin persists execution log entries to disk. The filename used for these log files is constructed in part from the user-supplied UniqueTrackingId field in the StartAction API request. This value is not validated or sanitized before being used in a file path, allowing an attacker to use directory traversal sequences (e.g., ../../../) to write files to arbitrary locations on the filesystem. This vulnerability is fixed in 3000.11.2.</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-31817"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-364q-w7vh-vhpc</id>
    <title>GHSA-364q-w7vh-vhpc — OliveTin's unsafe parsing of UniqueTrackingId can be used to write files</title>
    <updated>2026-10-01T04:18:18.801652+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Go: github.com/OliveTin/OliveTin</p>
<p>When the `saveLogs` feature is enabled, OliveTin persists execution log entries to disk. The filename used for these log files is constructed in part from the user-supplied `UniqueTrackingId` field in the `StartAction` API request. This value is not validated or sanitized before being used in a file path, allowing an attacker to use directory traversal sequences (e.g., `../../../`) to write files to arbitrary locations on the filesystem.
### Affected Code</p>
<p>**Entry point — `service/internal/api/api.go` (line 130):**</p>
<p>The `UniqueTrackingId` from the API request is passed directly to the executor without validation:</p>
<p>```go
execReq := executor.ExecutionRequest{
    Binding:    pair,
    TrackingID: req.Msg.UniqueTrackingId, // user-controlled, no validation
    // ...
}
```</p>
<p>**Tracking ID accepted as-is — `service/internal/executor/executor.go` (lines 508–512):**</p>
<p>The tracking ID is only replaced with a UUID if it is empty or a duplicate. Any other string, including one containing path separators, is accepted:</p>
<p>```go
_, isDuplicate := e.GetLog(req.TrackingID)</p>
<p>if isDuplicate || req.TrackingID == "" {
    req.TrackingID = uuid.NewString()
}
```</p>
<p>**Filename construction — `service/internal/executor/executor.go` (line 1042):**</p>
<p>The tracking ID is interpolated directly into the log filename:</p>
<p>```go
filename := fmt.Sprintf("%v.%v.%v",
    req.logEntry.ActionTitle,
    req.logEntry.DatetimeStarted.Unix(),
    req.logEntry.ExecutionTrackingID,
)
```</p>
<p>**File write — `service/internal/ex…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-364q-w7vh-vhpc"/>
  </entry>
</feed>
