Description
OliveTin gives access to predefined shell commands from a web interface. In versions 3000.0.0 and prior, the template engine uses a single shared text/template.Template instance (tpl package-level variable in service/internal/tpl/templates.go) across all goroutines. Every action execution calls tpl.Parse(source) followed by t.Execute() on this shared instance with no synchronization. When two or more actions execute concurrently (which is the normal case — each ExecRequest spawns a goroutine), a race condition occurs: one goroutine's Parse overwrites the template tree while another goroutine is calling Execute, causing cross-user command contamination, Go runtime panic, and incorrect command execution. This issue has been resolved in version 3000.13.0.
Published: 2026-06-15
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

OliveTin’s template engine uses a single shared instance for parsing templates, which creates a race condition (CWE-362) and demonstrates improper synchronization (CWE-567) when multiple command executions occur concurrently. One request can overwrite the template parse tree while another is executing it, leading to cross‑request command contamination, the execution of unintended shell commands with the privileges of the OliveTin service, and a Go runtime panic that can disrupt availability. The primary impact is the potential for unintended command execution and denial of service through panics.

Affected Systems

The vulnerability affects OliveTin versions 3000.0.0 and earlier, as distributed by OliveTin. The issue was fixed in OliveTin 3000.13.0.

Risk and Exploitability

The CVSS score of 7.5 indicates a high severity rating, but the EPSS score of <1% shows a very low likelihood of exploitation in the wild. The issue is not listed in CISA’s KEV catalog. Based on the description, it is inferred that an attacker who can trigger concurrent web requests to the OliveTin interface could create a race condition that results in unintended command execution or a runtime panic. No specific authentication or privilege requirements are stated.

Generated by OpenCVE AI on June 18, 2026 at 01:10 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade OliveTin to version 3000.13.0 or later.
  • Restrict access to the OliveTin web interface to trusted users or networks until the patch is applied.
  • Monitor OliveTin logs for panics or unexpected command executions and investigate any anomalies.

Generated by OpenCVE AI on June 18, 2026 at 01:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-7fq5-7wr8-rjwj OliveTin has a Concurrent Template Parsing Race Condition which Leads to Cross-Request Command Contamination
History

Wed, 24 Jun 2026 17:15:00 +0000


Tue, 16 Jun 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 16 Jun 2026 06:30:00 +0000

Type Values Removed Values Added
First Time appeared Olivetin
Olivetin olivetin
Vendors & Products Olivetin
Olivetin olivetin

Mon, 15 Jun 2026 20:30:00 +0000

Type Values Removed Values Added
Description OliveTin gives access to predefined shell commands from a web interface. In versions 3000.0.0 and prior, the template engine uses a single shared text/template.Template instance (tpl package-level variable in service/internal/tpl/templates.go) across all goroutines. Every action execution calls tpl.Parse(source) followed by t.Execute() on this shared instance with no synchronization. When two or more actions execute concurrently (which is the normal case — each ExecRequest spawns a goroutine), a race condition occurs: one goroutine's Parse overwrites the template tree while another goroutine is calling Execute, causing cross-user command contamination, Go runtime panic, and incorrect command execution. This issue has been resolved in version 3000.13.0.
Title OliveTin has a Concurrent Template Parsing Race Condition which Leads to Cross-Request Command Contamination
Weaknesses CWE-362
CWE-567
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Olivetin Olivetin
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-06-24T16:45:53.317Z

Reserved: 2026-05-22T18:47:27.755Z

Link: CVE-2026-48708

cve-icon Vulnrichment

Updated: 2026-06-16T13:38:43.860Z

cve-icon NVD

Status : Deferred

Published: 2026-06-15T21:17:15.570

Modified: 2026-06-16T15:49:33.737

Link: CVE-2026-48708

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-18T01:15:15Z

Weaknesses
  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

  • CWE-567

    Unsynchronized Access to Shared Data in a Multithreaded Context