Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to OliveTin web interface
-
DeliveryIdentify Shell-mode action with regex: argument type
-
ExploitCraft argument value passing regex but containing shell metacharacters
-
ExecutionSubmit crafted value via web UI
-
PersistOliveTin interpolates value into sh -c command string
-
ImpactExecute arbitrary OS commands as OliveTin process user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires all of the following: (1) OliveTin version 3000.2.0 through 3000.16.x must be running; (2) at least one action in config.yaml must be defined using the shell: key (Shell mode), not the exec: list format; (3) that Shell-mode action must declare an argument with a type prefixed by regex: (custom regex validation); (4) the attacker must have OliveTin-level access sufficient to invoke that specific action, which varies by deployment access controls. The attack is further enabled when the regex pattern is unanchored (missing ^ and $), allowing partial prefix matches. Limiting factors include: the configuration requirement (Shell mode with regex: argument) is non-default and must be explicitly created by an administrator; and the attacker must have authenticated access to OliveTin and permission to invoke the vulnerable action. No special network position is required beyond reaching the OliveTin web interface. |
| Impact | The NVD CVSS 3.1 score of 6.6 (AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H) reflects two significant mitigating factors: AC:H (a non-default Shell-mode action with a regex: argument must be configured) and PR:H (elevated OliveTin access is required). However, PR:H may overstate the privilege barrier: OliveTin is explicitly designed to give ordinary web users the ability to run predefined commands without shell accounts, so once an administrator creates a vulnerable Shell-mode action, lower-privilege OliveTin users who can invoke that action are sufficient to trigger the injection. This analyst assesses PR:L as more reflective of the exploitation scenario, with AC:H capturing the configuration prerequisite. Impact is fully High across C/I/A if exploited, because OliveTin runs commands in its own process context, granting the attacker the OS-level privileges of the OliveTin service account. No EPSS data was provided. No CISA KEV listing and no public proof-of-concept exploit have been identified at the time of analysis, which limits immediate widespread exploitation risk. Overall this is a real but constrained threat: high impact if the conditions are met, but the specific configuration requirement reduces the realistic attack surface. |
| Exploit ScenarioDerived | An attacker with OliveTin user access finds a Shell-mode action configured with a regex: argument type - for example, curl {{ host }} with type regex:[a-zA-Z0-9.-]+. They submit the value example.com; id, which satisfies the unanchored regex match against the hostname portion while appending a shell command after the semicolon. OliveTin's wrapCommandInShell interpolates this value directly into sh -c "curl example.com; id", executing id (or any arbitrary command) in the context of the OliveTin service account. No public proof-of-concept exploit has been identified, but the attack pattern is straightforward for anyone aware of the misconfiguration. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 29, 2026
OS command injection in OliveTin versions 3000.2.0 through 3000.16.x allows an authenticated user to execute arbitrary shell commands by supplying a crafted argument value to a Shell-mode action that uses a custom regex: argument type. The root cause is that checkShellArgumentSafety in service/internal/executor/arguments.go omitted regex: types from its unsafe-argument blocklist, permitting regex-validated values to be interpolated unsanitized into an sh -c command string via wrapCommandInShell. No active exploitation has been confirmed (no CISA KEV listing), but a public GitHub security advisory and a fix-bearing release (3000.17.0) are available.
RemediationAI
Upgrade to OliveTin 3000.17.0, available at https://github.com/OliveTin/OliveTin/releases/tag/3000.17.0, which resolves the issue by classifying all regex: argument types as unsafe for Shell-mode actions. As an immediate workaround where upgrade is not feasible, convert any Shell-mode actions that use regex: argument types from the shell: string syntax to the exec: list syntax in config.yaml - this bypasses shell interpolation entirely, as exec: passes arguments directly to the process without invoking sh -c; the commit at https://github.com/OliveTin/OliveTin/commit/995ff79736f2bccc364448a3ece84087b550b232 demonstrates this conversion pattern. A secondary compensating control is to audit all OliveTin action configurations and remove or restrict access to any Shell-mode action that uses regex: argument types until the upgrade is applied. Note that simply tightening the regex pattern does not mitigate the vulnerability if the pattern is unanchored, as the fix also adds mandatory anchoring (^ and $) that was absent before 3000.17.0.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
OliveTin is a Go-based self-hosted web application that exposes administrator-defined shell commands to web users. Actions are configured in YAML and can be specified either as shell: strings (executed via sh -c) or as exec: lists (passed directly as arguments, avoiding shell interpolation). The vulnerable code path in service/internal/executor/arguments.go maintained a static map of unsafe argument types (url, email, raw_string_multiline, very_dangerous_raw_string, password) for Shell-mode safety checks but excluded regex: prefixed custom types. CWE-78 (Improper Neutralization of Special Elements used in an OS Command) is the root cause class: user-controlled input that passed typeSafetyCheckRegex - which only verified pattern matching, not shell-safety - was concatenated into a shell command string without escaping metacharacters. The commit diff (995ff79736f2bccc364448a3ece84087b550b232) confirms the fix: regex: types are now unconditionally classified as unsafe for Shell mode via the new isUnsafeShellArgumentType function, and the anchorCustomRegexPattern helper closes a secondary gap where unanchored patterns (e.g., regex:[a-zA-Z0-9.-]+) could match a value like example.com; id because the regex matched the prefix but not the injected suffix.
Know when Olivetin gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
AC:H captures the required non-default Shell-mode plus regex: config; PR:L reflects that any authenticated OliveTin user invoking the action can exploit it, not only admins.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
OliveTin gives access to predefined shell commands from a web interface. From 3000.2.0 until 3000.17.0, the service/internal/executor/arguments.go checkShellArgumentSafety function does not treat regex: custom argument types as unsafe for Shell mode actions, allowing values that pass typeSafetyCheckRegex to be interpolated by wrapCommandInShell into an sh -c command string and enabling OS command injection. This issue is fixed in version 3000.17.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
OS command injection in OliveTin web shell interface through version 3000.10.0. OliveTin provides web-based access to pr
OliveTin gives access to predefined shell commands from a web interface. [CVSS 8.8 HIGH]
Arbitrary file write in OliveTin prior to 3000.11.2 allows authenticated attackers to write files to arbitrary filesyste
Memory-exhaustion denial of service in OliveTin (versions 3000.0.0 through 3000.16.x) allows a remote unauthenticated at
OliveTin versions prior to 3000.10.2 are vulnerable to unauthenticated denial of service through the PasswordHash API en
OliveTin versions prior to 3000.10.3 are vulnerable to unauthenticated denial-of-service attacks when OAuth2 authenticat
OliveTin versions prior to 3000.11.0 suffer from broken access control allowing unauthenticated users to invoke the Kill
OS Command Injection in Olivetin 2025.4.22 Custom Themes via the ParseRequestURI function in service/internal/executor/a
OliveTin prior to version 3000.11.1 fails to enforce view permission checks on dashboard and API endpoints, allowing aut
OliveTin prior to version 3000.11.1 fails to invalidate server-side sessions upon user logout, allowing attackers with a
OliveTin versions prior to 3000.11.1 contain an authentication bypass in RestartAction that allows authenticated users t
Concurrent action execution in OliveTin versions 3000.0.0 and prior triggers a race condition in a shared text/template.
Same weakness CWE-78 – OS Command Injection
View allSame technique Command Injection
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
EUVD-2026-50564
GHSA-xc5w-4v5w-7x65
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB