{"id":"CVE-2026-12887","kind":"vulnerability","aliases":["CVE-2026-12887"],"related":[],"title":"Octopus Server: crafted NuGet package lets a deploy script escape its directory","description":"In affected versions of Octopus Server, a user with permission to upload a malicious nuget package is able to deploy a script step so the script executes outside of the parent directory.","summary":"A user who is allowed to upload NuGet packages to Octopus Server can craft one that makes a deployment script step run outside its parent directory. The sources do not say what files or hosts are then reachable.","severity":"medium","cvss":5.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["dotnet","nuget","octopus-deploy","package","self-hosted"],"not_affected_if":["managed-hosting","no-package-upload-users"],"how_to_check":"- Check the installed Octopus Server version against the affected range in the NVD entry (https://nvd.nist.gov/vuln/detail/CVE-2026-12887)\n- Review which users hold permission to upload packages to the built-in NuGet feed\n- unknown for any further check, since the sources do not say","fix":"- Move Octopus Server to a version that fixes CVE-2026-12887; the sources do not name it, so check the vendor advisory\n- Restrict package upload permission to trusted users until patched","status":"open","published_at":"2026-10-27T14:17:00+00:00","first_seen_at":"2026-10-27T14:32:25+00:00","triaged_at":"2026-10-27T14:33:14+00:00","updated_at":"2026-10-27T14:33:14+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-27T14:33:14Z","model":"claude-haiku-5-5","output":{"fix":"- Move Octopus Server to a version that fixes CVE-2026-12887; the sources do not name it, so check the vendor advisory\n- Restrict package upload permission to trusted users until patched","reach":"network","title":"Octopus Server: crafted NuGet package lets a deploy script escape its directory","impact":"medium","summary":"A user who is allowed to upload NuGet packages to Octopus Server can craft one that makes a deployment script step run outside its parent directory. The sources do not say what files or hosts are then reachable.","category":"package","nicknames":[],"who_cares":["octopus-deploy","self-hosted","nuget","dotnet"],"confidence":0.6,"needs_auth":"yes","worst_case":"script step runs outside its directory on the Octopus server","analyst_note":"Find the fixed Octopus Server version and the affected range in the vendor advisory; NVD text alone does not name them.","how_to_check":"- Check the installed Octopus Server version against the affected range in the NVD entry (https://nvd.nist.gov/vuln/detail/CVE-2026-12887)\n- Review which users hold permission to upload packages to the built-in NuGet feed\n- unknown for any further check, since the sources do not say","needs_analyst":true,"not_affected_if":["no-package-upload-users","managed-hosting"],"who_is_affected":"Teams running self-hosted Octopus Server where some users can upload NuGet packages and deployments run script steps from them. Installations where only trusted staff can upload packages face lower risk. The sources do not say more.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000611,"input_tokens":3268,"output_tokens":569,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-12887':15A,18A '-2026':14A,17A 'abl':83C 'affect':67C 'allow':32B 'craft':3A,41B 'cve':13A,16A 'deploy':8A,23B,46B,85C 'directori':12A,53B,97C 'dotnet':19B 'escap':10A 'execut':92C 'file':60B 'host':27B,62B 'let':6A 'make':44B 'malici':79C 'nuget':4A,20B,35B,80C 'octopus':1A,22B,38B,70C 'octopus-deploy':21B 'one':42B 'outsid':50B,93C 'packag':5A,24B,36B,81C 'parent':52B,96C 'permiss':75C 'reachabl':65B 'run':49B 'say':58B 'script':9A,47B,87C,91C 'self':26B 'self-host':25B 'server':2A,39B,71C 'sourc':55B 'step':48B,88C 'upload':34B,77C 'user':29B,73C 'version':68C","nicknames":[],"mitigations":[],"who_affected":"Teams running self-hosted Octopus Server where some users can upload NuGet packages and deployments run script steps from them. Installations where only trusted staff can upload packages face lower risk. The sources do not say more.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-27T14:17:00+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"security@octopus.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-12887","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-12887","severity":null,"published_at":"2026-10-27T14:17:00+00:00","modified_at":"2026-10-27T14:17:00+00:00","first_seen_at":"2026-10-27T14:32:25+00:00","fetched_at":"2026-10-27T14:32:25+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}