CVE-2026-48708
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk27th percentile - higher than 27% of all known CVEs
Summary
OliveTin in versions 3000.0.0 and prior allows access to predefined shell commands from a web interface. The use of a shared template engine instance without synchronization leads to race conditions, resulting in cross-user command contamination and execution errors.
Risk Assessment
The organization may be exposed to unauthorized command execution and application crashes, which can lead to serious security and stability issues.
Recommendation
It is recommended to upgrade to version 3000.13.0 or later to eliminate this vulnerability and ensure the proper functioning of the application.
Other vulnerabilities in OliveTin
See all- CVE-2026-53541Medium
OliveTin before commit ebffd9f040f791208aee1db2e5a8aecd1e3e603d has a vulnerability that allows arguments whose names start with 'ot_' to bypass the filterToDefinedArgumentsOnly filter. These arguments are not type-checked, are set as environment variables and passed to executed commands, and are also available in the template context.
- CVE-2026-67439Medium
In OliveTin prior to version 3000.17.0, the StartActionAndWait and StartActionByGetAndWait endpoints return full LogEntry output without enforcing the logs permission, allowing users with exec but not logs permission to read action output.
- CVE-2026-67438Medium
In OliveTin from version 3000.2.0 to 3000.17.0, the checkShellArgumentSafety function does not treat 'regex:' custom argument types as unsafe for Shell mode, allowing OS command injection via interpolation into an sh -c command string.
- CVE-2026-67437High
OliveTin up to version 3000.17.0 stores OAuth2 login states in a map without expiration or size limits, allowing an unauthenticated attacker to exhaust memory and cause a denial of service (DoS).
- CVE-2026-48709Low
OliveTin versions 3000.0.0 and prior allow access to predefined shell commands from a web interface. The ValidateArgumentType RPC endpoint does not perform any authentication or authorization checks, allowing unauthenticated users to enumerate valid action binding IDs and their argument configurations.
Original NVD description (English source)
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.

