{"id":"CVE-2026-76804","kind":"vulnerability","aliases":["CVE-2026-76804","GHSA-qgw5-7j4f-fg97","GO-2026-6574"],"related":[],"title":"Nuclei: Local File Read via Workflow File-Protocol Gate Bypass in github.com/projectdiscovery/nuclei","description":"Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the workflow template loading path does not enforce the -file capability gate when resolving file: protocol templates referenced by a workflow. An untrusted unsigned workflow can therefore load a file-protocol template and read local files from the scanner host even when the operator has not enabled file templates. The issue affects CLI users running workflows with -w and SDK integrations that accept end-user workflows while relying on the default file-access restriction. This issue is fixed in version 3.10.0.","summary":"Nuclei versions 3.0.0 through 3.10.0 skip the -file capability check when a workflow loads file: protocol templates. An attacker who supplies an untrusted unsigned workflow can read local files from the machine running the scanner, even when file templates are disabled.","severity":"medium","cvss":5.5,"epss":0.00166,"exploited":false,"exploited_at":null,"products":[{"name":"github.com/projectdiscovery/nuclei","fixed":[],"affected":"all versions","ecosystem":"go"},{"name":"github.com/projectdiscovery/nuclei/v2","fixed":[],"affected":"all versions","ecosystem":"go"},{"name":"github.com/projectdiscovery/nuclei/v3","fixed":["3.10.0"],"affected":">= 3.0.0, < 3.10.0","ecosystem":"go"}],"ecosystems":["go"],"tags":["cli","go","nuclei","package","sdk-integrators"],"not_affected_if":["default-config","no-untrusted-workflows","nuclei-below-3.0.0"],"how_to_check":"go list -m github.com/projectdiscovery/nuclei/v3\nIf the version is >= 3.0.0 and < 3.10.0, the module is affected.\nCheck whether workflows from untrusted sources are run with -w or passed to an SDK integration.","fix":"Upgrade github.com/projectdiscovery/nuclei/v3 to 3.10.0 or later.\nUntil then, do not run unsigned or untrusted workflows.","status":"open","published_at":"2026-09-22T17:17:24+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","triaged_at":"2026-10-23T21:48:52+00:00","updated_at":"2026-10-23T21:48:52+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-23T21:48:52Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade github.com/projectdiscovery/nuclei/v3 to 3.10.0 or later.\nUntil then, do not run unsigned or untrusted workflows.","reach":"unknown","impact":"medium","summary":"Nuclei versions 3.0.0 through 3.10.0 skip the -file capability check when a workflow loads file: protocol templates. An attacker who supplies an untrusted unsigned workflow can read local files from the machine running the scanner, even when file templates are disabled.","category":"package","who_cares":["go","nuclei","cli","sdk-integrators"],"confidence":0.7,"needs_auth":"no","worst_case":"Attacker reads arbitrary local files on the scanner host","analyst_note":"Fixed versions for the unversioned nuclei and nuclei/v2 module entries are unknown; check https://pkg.go.dev/vuln/GO-2026-6574.","how_to_check":"go list -m github.com/projectdiscovery/nuclei/v3\nIf the version is >= 3.0.0 and < 3.10.0, the module is affected.\nCheck whether workflows from untrusted sources are run with -w or passed to an SDK integration.","needs_analyst":true,"not_affected_if":["default-config","no-untrusted-workflows","nuclei-below-3.0.0"],"user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000951,"input_tokens":3101,"output_tokens":1282,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':17A,25A,28A '-6574':26A '-76804':18A,29A '/projectdiscovery/nuclei':15A,32A '/projectdiscovery/nuclei/v2':35A '/projectdiscovery/nuclei/v3':38A '3.0.0':48B,101C '3.10.0':50B,103C,187C '7j4f':22A 'accept':167C 'access':179C 'affect':156C 'attack':64B 'base':98C 'built':92C 'bypass':11A 'capabl':54B,114C 'check':55B 'cli':39B,157C 'cve':16A,27A 'default':176C 'disabl':86B 'dsl':99C 'enabl':151C 'end':169C 'end-us':168C 'enforc':111C 'even':81B,145C 'fg97':23A 'file':3A,8A,53B,60B,74B,83B,113C,118C,134C,140C,152C,178C 'file-access':177C 'file-protocol':7A,133C 'fix':184C 'gate':10A,115C 'ghsa':20A 'ghsa-qgw5-7j4f-fg97':19A 'github.com':14A,31A,34A,37A 'github.com/projectdiscovery/nuclei':13A,30A 'github.com/projectdiscovery/nuclei/v2':33A 'github.com/projectdiscovery/nuclei/v3':36A 'go':24A,40B 'host':144C 'integr':45B,165C 'issu':155C,182C 'load':59B,107C,131C 'local':2A,73B,139C 'machin':77B 'nuclei':1A,41B,46B,87C 'oper':148C 'packag':42B 'path':108C 'protocol':9A,61B,119C,135C 'qgw5':21A 'read':4A,72B,138C 'referenc':121C 'reli':173C 'resolv':117C 'restrict':180C 'run':78B,159C 'scanner':80B,91C,143C 'sdk':44B,164C 'sdk-integr':43B 'simpl':95C 'skip':51B 'suppli':66B 'templat':62B,84B,106C,120C,136C,153C 'therefor':130C 'unsign':69B,127C 'untrust':68B,126C 'user':158C,170C 'version':47B,186C 'via':5A 'vulner':90C 'w':162C 'workflow':6A,58B,70B,105C,124C,128C,160C,171C 'yaml':97C 'yaml-bas':96C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-09-22T17:17:24+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"govuln","external_id":"GO-2026-6574","url":"https://pkg.go.dev/vuln/GO-2026-6574","severity":null,"published_at":"2026-10-01T20:23:38+00:00","modified_at":"2026-10-01T20:23:38+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","fetched_at":"2026-10-23T19:13:08+00:00","note":null},{"source":"epss","external_id":"CVE-2026-76804","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-76804","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-23T19:13:43+00:00","fetched_at":"2026-10-23T19:13:43+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-76804","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-76804","severity":null,"published_at":"2026-09-22T17:17:24+00:00","modified_at":"2026-09-28T20:17:10+00:00","first_seen_at":"2026-10-23T19:35:23+00:00","fetched_at":"2026-10-23T19:35:23+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"}