Skip to content
Heist/ feed
UnratedFix available

Nuclei: Environment Variable Disclosure via Response-Derived Data in DAST/Fuzz Mode

Type: advisorySource: OSV2 source records

A vulnerability in Nuclei's DAST/fuzz expression evaluation path allows a malicious target server to trigger disclosure of scanner-host environment variables when the `-env-vars` / `-ev` option is explicitly enabled. This is an incomplete fix for [CVE-2026-41645](https://github.com/projectdiscovery/nuclei/security/advisories/GHSA-jm34-66cf-qpvr) / GHSA-jm34-66cf-qpvr. The original fix hardened `expressions.Evaluate()` to be single-pass within one call, but did not address callers that invoked evaluation multiple times on substituted output in the DAST/fuzz pipeline. **Affected Component** The issue is in the DAST/fuzz payload evaluation path (`pkg/fuzz/parts.go`) and the shared template rendering boundary. When a multi-step template captures response data via an internal extractor and reuses it in a subsequent fuzz step, the fuzz evaluator could treat the substituted response content as fresh template syntax on a second evaluation pass. **Description** In DAST/fuzz mode, payload evaluation previously ran expression substitution more than once on the same value. Response-derived content captured by an `internal: true` extractor in a prior protocol step could flow into a fuzz payload and be reinterpreted as DSL/helper syntax on a subsequent pass. When `-env-vars` (`-ev`) is enabled, environment variables are merged into the template variable map. A malicious target can return response data containing expressions like `{{env_var_name}}` which, when reused in a subsequent fuzz st

Announced Group revision 1
Original source ↗

GO-2026-6571

Revision 1

Nuclei: Environment Variable Disclosure via Response-Derived Data in DAST/Fuzz Mode in github.com/projectdiscovery/nuclei

Nuclei: Environment Variable Disclosure via Response-Derived Data in DAST/Fuzz Mode in github.com/projectdiscovery/nuclei

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GO-2026-6571

github.com/projectdiscovery/nuclei

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

github.com/projectdiscovery/nuclei/v2

Source reference: /affected/1/package/name

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

github.com/projectdiscovery/nuclei/v3

Source reference: /affected/2/package/name

Affected versions
Not stated in this record
Fixed versions
3.10.0

Source reference: /affected/2/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          }
        ]
      }
    ],
    "package": {
      "name": "github.com/projectdiscovery/nuclei",
      "purl": "pkg:golang/github.com/projectdiscovery/nuclei",
      "ecosystem": "Go"
    },
    "database_specific": {
      "source": "https://vuln.go.dev/ID/GO-2026-6571.json"
    },
    "ecosystem_specific": {}
  },
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          }
        ]
      }
    ],
    "package": {
      "name": "github.com/projectdiscovery/nuclei/v2",
      "purl": "pkg:golang/github.com/projectdiscovery/nuclei/v2",
      "ecosystem": "Go"
    },
    "database_specific": {
      "source": "https://vuln.go.dev/ID/GO-2026-6571.json"
    },
    "ecosystem_specific": {}
  },
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "3.0.0"
          },
          {
            "fixed": "3.10.0"
          }
        ]
      }
    ],
    "package": {
      "name": "github.com/projectdiscovery/nuclei/v3",
      "purl": "pkg:golang/github.com/projectdiscovery/nuclei/v3",
      "ecosystem": "Go"
    },
    "database_specific": {
      "source": "https://vuln.go.dev/ID/GO-2026-6571.json"
    },
    "ecosystem_specific": {}
  }
]
Related CVEs
CVE-2026-76805

Source reference: /aliases

Publisher severity

No explicit severity was provided.

Event
#63846 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement

GHSA-jpvm-9frm-hjcq

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GHSA-jpvm-9frm-hjcq

github.com/projectdiscovery/nuclei/v3

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
3.10.0

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "3.0.0"
          },
          {
            "fixed": "3.10.0"
          }
        ]
      }
    ],
    "package": {
      "name": "github.com/projectdiscovery/nuclei/v3",
      "purl": "pkg:golang/github.com/projectdiscovery/nuclei/v3",
      "ecosystem": "Go"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-jpvm-9frm-hjcq/GHSA-jpvm-9frm-hjcq.json"
    }
  }
]
Related CVEs
CVE-2026-76805

Source reference: /aliases

Publisher severity

No explicit severity was provided.

Event
#63904 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement