Every CVE Search/ Get API key

CVE-2026-76802

Nuclei: Arbitrary Command Execution via DAST Code Signature Bypass

4.7 MediumFix available

Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the DAST template loading branch does not apply the unsigned code-template signature check before accepting a template that contains both a fuzzing: block and an unsigned code: block. When an operator enables -dast, an untrusted multiprotocol template can place an unsigned code request into the execution queue and run arbitrary shell commands even without -code or a valid cryptographic signature. The issue affects CLI DAST scans and SDK integrations that enable DAST while accepting attacker-supplied templates. This issue is fixed in version 3.10.0.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
High
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
None

Exploit likelihood

0.18%Unchanged since Sep 23, 2026
90%50%10%1%

What each source reports

CVE List Score used 4.7

Nuclei: Arbitrary Command Execution via DAST Code Signature Bypass

Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the DAST template loading branch does not apply the unsigned code-template signature check before accepting a template that contains both a fuzzing: block and an unsigned code: block. When an operator enables -dast, an untrusted multiprotocol template can place an unsigned code request into the execution queue and run arbitrary shell commands even without -code or a valid cryptographic signature. The issue affects CLI DAST scans and SDK integrations that enable DAST while accepting attacker-supplied templates. This issue is fixed in version 3.10.0.

Record
CVE-2026-76802
CVSS 3.1
4.7 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
Weakness
CWE-78
Updated
2026-11-02
EUVDEUVD-2026-84556 4.7

Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the DAST template loading branch does not apply the unsigned code-template signature check before accepting a template that contains both a fuzzing: block and an unsigned code: block. When an operator enables -dast, an untrusted multiprotocol template can place an unsigned code request into the execution queue and run arbitrary shell commands even without -code or a valid cryptographic signature. The issue affects CLI DAST scans and SDK integrations that enable DAST while accepting attacker-supplied templates. This issue is fixed in version 3.10.0.

Record
EUVD-2026-84556
CVSS 3.1
4.7 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-jpf4-98qj-qr67 4.7

Nuclei: Arbitrary Command Execution via DAST Code Signature Bypass

A vulnerability in Nuclei's DAST template loading path allows unsigned code: protocol templates to execute, bypassing the cryptographic signature requirement that is meant to prevent arbitrary command execution from untrusted templates.

Affected Component

The issue is in the template loader's DAST loading branch. When -dast is enabled and a template contains a fuzzing: block, the loader accepted the template through a code path that omitted the unsigned-code-template signature check present in the normal loading branch.

Description

Nuclei requires code: protocol templates to be cryptographically signed before execution. Unsigned code templates are normally skipped with a warning. However, when a template combined a fuzzing: block (making it DAST-eligible) with an unsigned code: block, enabling -dast routed the template through the DAST loader branch, which did not enforce signature verification.

For multiprotocol templates containing both HTTP and code: blocks, the unsigned code request was included in the execution queue regardless of whether -code was set. This allowed arbitrary shell command execution from an unsigned code: block with only -dast enabled.

[!NOTE] Both DAST mode (-dast) and code-protocol templates are disabled by default. Code templates normally require both the -code flag and a valid template signature. This issue bypassed the signature and -code controls only when -dast was explicitly enabled.

Affected Users

  • CLI users running DAST/fuzzing scans (-dast) with untrusted or attacker-supplied templates that contain both fuzzing: and code: blocks.
  • SDK users who integrate Nuclei with DAST mode enabled and allow end users to supply custom templates.

Patches

Mitigation

Upgrade to Nuclei v3.10.0, where code template signature verification is enforced before DAST loading.

In the meantime, avoid running DAST scans with untrusted templates.

Workarounds

If upgrading is not an option, do not use -dast with templates from unverified sources.

Acknowledgments

Thanks to @daffainfo for reporting this issue.

Record
GHSA-jpf4-98qj-qr67
CVSS 3.1
4.7 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
Weakness
CWE-78
Updated
2026-11-02
NVD 4.7

Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the DAST template loading branch does not apply the unsigned code-template signature check before accepting a template that contains both a fuzzing: block and an unsigned code: block. When an operator enables -dast, an untrusted multiprotocol template can place an unsigned code request into the execution queue and run arbitrary shell commands even without -code or a valid cryptographic signature. The issue affects CLI DAST scans and SDK integrations that enable DAST while accepting attacker-supplied templates. This issue is fixed in version 3.10.0.

Record
CVE-2026-76802
CVSS 3.1
4.7 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
Weakness
CWE-78
Updated
2026-11-02
OSV 4.7

Nuclei: Arbitrary Command Execution via DAST Code Signature Bypass

Nuclei is a vulnerability scanner built on a simple YAML-based DSL. From 3.0.0 until 3.10.0, the DAST template loading branch does not apply the unsigned code-template signature check before accepting a template that contains both a fuzzing: block and an unsigned code: block. When an operator enables -dast, an untrusted multiprotocol template can place an unsigned code request into the execution queue and run arbitrary shell commands even without -code or a valid cryptographic signature. The issue affects CLI DAST scans and SDK integrations that enable DAST while accepting attacker-supplied templates. This issue is fixed in version 3.10.0.

Record
CVE-2026-76802
CVSS 3.1
4.7 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
Weakness
CWE-78
Updated
2026-11-02
OSVGHSA-jpf4-98qj-qr67 4.7

Nuclei: Arbitrary Command Execution via DAST Code Signature Bypass

A vulnerability in Nuclei's DAST template loading path allows unsigned code: protocol templates to execute, bypassing the cryptographic signature requirement that is meant to prevent arbitrary command execution from untrusted templates.

Affected Component

The issue is in the template loader's DAST loading branch. When -dast is enabled and a template contains a fuzzing: block, the loader accepted the template through a code path that omitted the unsigned-code-template signature check present in the normal loading branch.

Description

Nuclei requires code: protocol templates to be cryptographically signed before execution. Unsigned code templates are normally skipped with a warning. However, when a template combined a fuzzing: block (making it DAST-eligible) with an unsigned code: block, enabling -dast routed the template through the DAST loader branch, which did not enforce signature verification.

For multiprotocol templates containing both HTTP and code: blocks, the unsigned code request was included in the execution queue regardless of whether -code was set. This allowed arbitrary shell command execution from an unsigned code: block with only -dast enabled.

[!NOTE] Both DAST mode (-dast) and code-protocol templates are disabled by default. Code templates normally require both the -code flag and a valid template signature. This issue bypassed the signature and -code controls only when -dast was explicitly enabled.

Affected Users

  • CLI users running DAST/fuzzing scans (-dast) with untrusted or attacker-supplied templates that contain both fuzzing: and code: blocks.
  • SDK users who integrate Nuclei with DAST mode enabled and allow end users to supply custom templates.

Patches

Mitigation

Upgrade to Nuclei v3.10.0, where code template signature verification is enforced before DAST loading.

In the meantime, avoid running DAST scans with untrusted templates.

Workarounds

If upgrading is not an option, do not use -dast with templates from unverified sources.

Acknowledgments

Thanks to @daffainfo for reporting this issue.

Record
GHSA-jpf4-98qj-qr67
CVSS 3.1
4.7 MediumCVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N
Weakness
CWE-78
Updated
2026-11-02
OSVGO-2026-6570 No score

Nuclei: Arbitrary Command Execution via DAST Code Signature Bypass in github.com/projectdiscovery/nuclei

Nuclei: Arbitrary Command Execution via DAST Code Signature Bypass in github.com/projectdiscovery/nuclei

Record
GO-2026-6570
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
github.com/projectdiscovery/nuclei/v3
Go
3.0.0 up to 3.10.0
3.10.0
github.com/projectdiscovery/nuclei
Go
All versions None known
github.com/projectdiscovery/nuclei/v2
Go
All versions None known

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-76802 is a medium vulnerability (CVSS 4.7) in Projectdiscovery Nuclei, published September 22, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.18%, the 7th percentile. Fixed in github.com/projectdiscovery/nuclei/v3 3.10.0.

References

MoveEnter Open