Skip to main content

ProjectDiscovery Nuclei CVE-2026-76805

| EUVDEUVD-2026-84557 MEDIUM
Information Exposure (CWE-200)
2026-09-22 GitHub_M GHSA-jpvm-9frm-hjcq
5.3
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Operator runs DAST/fuzz scan with -env-vars
  2. Delivery
    Malicious target returns marker-shaped response
  3. Exploit
    internal:true extractor captures content
  4. Execution
    Second evaluation pass reinterprets it as template syntax
  5. Persist
    Env vars resolve against variable map
  6. Impact
    Scanner-host credentials/API keys exfiltrated

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a specific, non-default combination on the SCANNER host: (1) the operator must run a multi-step DAST or fuzz template, (2) that template must reuse response data through an internal:true extractor, and (3) the operator must explicitly enable environment-variable expansion via the -env-vars flag. The attacker must control the scan target so it can return marker-shaped content that resolves against the template variable map. Limiting factors: users who do NOT enable -env-vars are not affected by the sensitive-information disclosure; user interaction is required (an operator must initiate the scan against the malicious target); and the AC:H chain (aligning the internal extractor output with the second-pass re-evaluation) makes casual exploitation unlikely. Affects Nuclei 3.0.0 through versions before 3.10.0.

Impact

This is a moderate-risk, tightly-gated information-disclosure flaw that should not be treated as a broad emergency. The vendor CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N = 5.3) is internally consistent with the described attack: network vector because the malicious payload arrives in an HTTP response, AC:H because the attacker must line up a specific chain (multi-step DAST/fuzz template + internal:true extractor + the marker-shaped response resolving against the template variable map), and UI:R because a human operator must launch the scan against the attacker-controlled target. C:H with I:N/A:N is correct - the only impact is disclosure of scanner-host environment variables (credentials, API keys, tokens). No EPSS score, no CISA KEV entry, and no public POC were supplied, so exploitation status is 'no public exploit identified at time of analysis.' The high complexity plus the hard requirement that the operator explicitly enable -env-vars means real-world exploitability is narrow rather than opportunistic; the confidentiality impact is genuinely high only for that specific misconfiguration. The most important nuance is that this is explicitly an INCOMPLETE FIX of CVE-2026-41645 - the prior patch made expressions.Evaluate() single-pass within one call but left the DAST/fuzz caller re-evaluating substituted output - which raises the priority for anyone who believed 41645 fully closed the double-evaluation class. Net: a real, credible issue worth patching for teams that fuzz untrusted targets with -env-vars, but not a high-urgency, mass-exploited priority.

Exploit ScenarioDerived

An attacker who controls a target web application waits to be scanned by a Nuclei operator running a multi-step DAST/fuzz template with -env-vars enabled. The malicious server returns marker-shaped content that an internal:true extractor captures in one protocol step; on the second evaluation pass in a later fuzz step, that captured content is reinterpreted as template syntax and resolves against the template variable map, echoing the scanner host's environment variables (credentials, API keys, tokens) back to the attacker. No public POC was provided, and the chain's high complexity plus mandatory operator opt-in to environment-variable expansion limit practical exploitation.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 22, 2026

Sensitive environment-variable disclosure in ProjectDiscovery Nuclei (versions 3.0.0 through anything before 3.10.0) allows a malicious scan target to smuggle marker-shaped response content that is reinterpreted as template syntax in a later DAST/fuzz step and resolved against the scanner's own variable map, leaking host credentials, API keys, or tokens into scan output. The flaw is an unauthenticated, network-reachable issue (CVSS:3.1/AV:N/AC:H/PR:N/UI:R) but is tightly gated on the scanner host: the operator must run a multi-step DAST or fuzz template, that template must reuse response data through an internal:true extractor, and environment-variable expansion must be explicitly enabled with -env-vars; users who do not enable -env-vars are not affected by the disclosure. No public exploit identified at time of analysis, and this is an incomplete fix for CVE-2026-41645 remediated in Nuclei 3.10.0.

RemediationAI

Vendor-released patch: Nuclei 3.10.0 (https://github.com/projectdiscovery/nuclei/releases/tag/v3.10.0), delivered via PR 7499 / commit ccbfb12bd01447ba25f6e755dfb2bee677736da6 as detailed in advisory GHSA-jpvm-9frm-hjcq; upgrade any installation running 3.0.0 through pre-3.10.0 builds immediately. If immediate upgrade is not possible, the highest-value compensating control is to stop passing -env-vars when scanning untrusted or third-party targets - this fully removes the sensitive-information disclosure path at the cost of disabling legitimate environment-variable expansion in templates that depend on it. Additionally, avoid running multi-step DAST/fuzz templates that carry internal:true extractor output forward into later steps against attacker-controlled hosts, and run scans from an isolated host or container with a scrubbed environment (no cloud credentials, API keys, or orchestrator tokens present) so that any successful re-evaluation yields no useful secrets; note that this reduces but does not eliminate the underlying double-evaluation behavior and does not fix the root cause, so patch is still required. Detection-side, review scan histories for template runs combining -env-vars with multi-step DAST/fuzz templates against external targets and rotate any credentials that were present in the scanner host environment during such runs.

Affected VersionsENISA

nuclei 3.0.0, < 3.10.0

Affected Packages

go github.com/projectdiscovery/nuclei no fix
go github.com/projectdiscovery/nuclei/v2 no fix
go github.com/projectdiscovery/nuclei/v3 fix: 3.10.0
euvd nuclei_3_0_0 fix: 3.10.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 4 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Nuclei is a scanner driven by a YAML-based DSL in which template expressions are evaluated at runtime. CVE-2026-41645 previously hardened expressions.Evaluate() so that a single call is single-pass, but the DAST/fuzz path in pkg/fuzz/parts.go still fed already-substituted, runtime-derived values back into evaluation, producing a second evaluation pass. In that second pass, content returned by the scanned target and captured by an internal:true extractor in one protocol step was treated as template text rather than as opaque data, so attacker-controlled marker strings could resolve against the scanner's template variable map when -env-vars expansion was active. This is a classic CWE-200 exposure of sensitive information through an unintended evaluation boundary (template-injection/expression re-evaluation class). The upstream fix in PR 7499 (commit ccbfb12bd01447ba25f6e755dfb2bee677736da6) introduces a variables scope with EvaluateWithInteractshScope and a mergeFuzzValueLayers helper that separates template-authored values (fuzzValueTemplate) from runtime/base, CLI option, and constant values (fuzzValueData), so runtime data keys are never re-rendered; evaluateVars also switches from expressions.Evaluate to render.Render, and interactsh marker replacement is limited to template-text values.

Know when Nuclei gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 5.3 MEDIUM
AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
vuln.today AI 5.3 MEDIUM

AV:N (payload via network response) and PR:N (no scanner auth), but AC:H for the multi-condition chain and UI:R since an operator must run the scan with -env-vars; C:H disclosure only, I:N/A:N.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Sep 22, 2026 - 18:02 EUVD

DescriptionCVE.org

Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the DAST/fuzz payload path in pkg/fuzz/parts.go can evaluate substituted runtime data more than once, creating a second evaluation pass that allows response content captured by an internal: true extractor in one protocol step to be reinterpreted as template syntax in a later fuzz step. This vulnerability is an incomplete fix for CVE-2026-41645: the prior remediation made expressions.Evaluate() single-pass within one call but did not prevent DAST/fuzz callers from evaluating substituted output again. When -env-vars is enabled, a malicious scan target can return marker-shaped content that resolves against the template variable map and discloses scanner-host environment variables such as credentials, API keys, or tokens. The vulnerability requires a multi-step DAST or fuzz template, response data reused through an internal extractor, and explicit environment-variable expansion; users who do not enable -env-vars are not affected by the sensitive-information disclosure. This issue is fixed in version 3.10.0.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Medium
widely-used open-source security scanner, but only DAST/fuzz+env-vars users affected
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy