{"id":"CVE-2026-76804","aliases":["EUVD-2026-84554","GHSA-qgw5-7j4f-fg97","GO-2026-6574"],"status":"published","title":"Nuclei: Local File Read via Workflow File-Protocol Gate Bypass","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.","severity":{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00166,"percentile":0.05936,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-284"],"published":"2026-09-22T16:41:46Z","modified":"2026-10-28T02:30:26Z","fixes":[{"ecosystem":"Go","package":"github.com/projectdiscovery/nuclei/v3","fixed_in":["3.10.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/projectdiscovery/nuclei/v3","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"fixed":"3.10.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/projectdiscovery/nuclei/v3","ranges":[{"type":"SEMVER","events":[{"introduced":"3.0.0"},{"fixed":"3.10.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/projectdiscovery/nuclei","ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/projectdiscovery/nuclei/v2","ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/projectdiscovery/nuclei/v3","ranges":[{"type":"SEMVER","events":[{"introduced":"3.0.0"},{"fixed":"3.10.0"}]}]}],"products":[{"vendor":"projectdiscovery","product":"nuclei"}],"references":[{"url":"https://github.com/projectdiscovery/nuclei/security/advisories/GHSA-qgw5-7j4f-fg97","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/projectdiscovery/nuclei/pull/7489","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/projectdiscovery/nuclei/commit/638be4481d27f1bbf90f971bbf6e3023777f2089","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/projectdiscovery/nuclei/releases/tag/v3.10.0","tags":["x_refsource_MISC","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-76804","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-qgw5-7j4f-fg97"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/76xxx/CVE-2026-76804.json","tags":["advisory"]},{"url":"https://github.com/projectdiscovery/nuclei","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-76804","title":"Nuclei: Local File Read via Workflow File-Protocol Gate Bypass","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.","status":"published","published":"2026-09-22T16:41:46.188Z","modified":"2026-09-28T19:17:51.204Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T13:46:21.568011Z"}],"euvd":[{"id":"EUVD-2026-84554","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.","status":"published","published":"2026-09-22T16:41:46Z","modified":"2026-09-28T19:17:51Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T17:27:52.759804Z"}],"ghsa":[{"id":"GHSA-qgw5-7j4f-fg97","title":"Nuclei: Local File Read via Workflow File-Protocol Gate Bypass","description":"A vulnerability in Nuclei's workflow template loader allows `file:` protocol templates to execute without the `-file` flag, bypassing a security gate that is meant to prevent local file reads on the scanner host.\n\n**Affected Component**\n\nThe issue is in the workflow template loading path. The main template loader enforces the `-file` gate for file-protocol templates, but the workflow loader did not apply the same check when resolving templates referenced by a workflow.\n\n**Description**\n\nNuclei disables file-protocol templates by default because they read local files from the host running the scanner. Operators must explicitly enable them with the `-file` flag. When a workflow references a file-protocol template, the workflow loader accepted and executed that template without verifying that `-file` was enabled.\n\nBecause workflows run unsigned by default, an untrusted workflow could load and execute a file-protocol template and read local files from the scan target path, even though the operator had not enabled file templates.\n\n\u003e [!NOTE]\nFile-protocol templates are disabled by default. This issue only affects users who run workflows from untrusted sources without having explicitly enabled `-file`.\n\n**Affected Users**\n\n- **CLI users** running workflows (`-w`) that reference file-protocol templates from untrusted or third-party sources.\n- **SDK users** who integrate Nuclei into platforms where end users can supply workflow files and rely on the default `-file` restriction to block local file access.\n\n**Patches**\n\n- The vulnerability is fixed in Nuclei v3.10.0. Upgrading is strongly recommended.\n- Fix reference: https://github.com/projectdiscovery/nuclei/pull/7489\n\n**Mitigation**\n\nUpgrade to Nuclei v3.10.0, where template execution requirements (including the `-file` gate) are enforced consistently across the main loader, workflow parsing, and request compilation paths.\n\nIn the meantime, avoid running workflows from unverified sources.\n\n**Workarounds**\n\nIf upgrading is not an option, do not run untrusted workflow files. There is no configuration flag that mitigates this bypass on affected versions.\n\n**Acknowledgments**\n\nThanks to @daffainfo for reporting this issue.","status":"published","published":"2026-09-22T20:37:21Z","modified":"2026-09-22T20:37:22Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T14:41:20.575159Z"}],"nvd":[{"id":"CVE-2026-76804","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.","status":"published","published":"2026-09-22T17:17:24.943Z","modified":"2026-09-28T20:17:10.803Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T14:12:50.368368Z"}],"osv":[{"id":"CVE-2026-76804","title":"Nuclei: Local File Read via Workflow File-Protocol Gate Bypass","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.","status":"published","published":"2026-09-22T16:41:46.188Z","modified":"2026-10-28T02:30:26.883615841Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T15:45:17.102988Z"},{"id":"GHSA-qgw5-7j4f-fg97","title":"Nuclei: Local File Read via Workflow File-Protocol Gate Bypass","description":"A vulnerability in Nuclei's workflow template loader allows `file:` protocol templates to execute without the `-file` flag, bypassing a security gate that is meant to prevent local file reads on the scanner host.\n\n**Affected Component**\n\nThe issue is in the workflow template loading path. The main template loader enforces the `-file` gate for file-protocol templates, but the workflow loader did not apply the same check when resolving templates referenced by a workflow.\n\n**Description**\n\nNuclei disables file-protocol templates by default because they read local files from the host running the scanner. Operators must explicitly enable them with the `-file` flag. When a workflow references a file-protocol template, the workflow loader accepted and executed that template without verifying that `-file` was enabled.\n\nBecause workflows run unsigned by default, an untrusted workflow could load and execute a file-protocol template and read local files from the scan target path, even though the operator had not enabled file templates.\n\n\u003e [!NOTE]\nFile-protocol templates are disabled by default. This issue only affects users who run workflows from untrusted sources without having explicitly enabled `-file`.\n\n**Affected Users**\n\n- **CLI users** running workflows (`-w`) that reference file-protocol templates from untrusted or third-party sources.\n- **SDK users** who integrate Nuclei into platforms where end users can supply workflow files and rely on the default `-file` restriction to block local file access.\n\n**Patches**\n\n- The vulnerability is fixed in Nuclei v3.10.0. Upgrading is strongly recommended.\n- Fix reference: https://github.com/projectdiscovery/nuclei/pull/7489\n\n**Mitigation**\n\nUpgrade to Nuclei v3.10.0, where template execution requirements (including the `-file` gate) are enforced consistently across the main loader, workflow parsing, and request compilation paths.\n\nIn the meantime, avoid running workflows from unverified sources.\n\n**Workarounds**\n\nIf upgrading is not an option, do not run untrusted workflow files. There is no configuration flag that mitigates this bypass on affected versions.\n\n**Acknowledgments**\n\nThanks to @daffainfo for reporting this issue.","status":"published","published":"2026-09-22T20:37:21Z","modified":"2026-10-01T20:55:47.101258667Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-284"],"updated_at":"2026-11-02T15:46:54.40888Z"},{"id":"GO-2026-6574","title":"Nuclei: Local File Read via Workflow File-Protocol Gate Bypass in github.com/projectdiscovery/nuclei","description":"Nuclei: Local File Read via Workflow File-Protocol Gate Bypass in github.com/projectdiscovery/nuclei","status":"published","published":"2026-10-01T20:23:38Z","modified":"2026-10-01T20:45:15.888917275Z","updated_at":"2026-11-02T15:47:03.11707Z"}]}}
