Skip to main content
← All vulnerabilities
CVE-2024-43405GO-2024-3114GHSA-7H5P-MMPP-HGMM

Nuclei Template Signature Verification Bypass

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.3.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • projectdiscovery nuclei

    From 3.0.0 · fixed in 3.3.2

  • github.com/projectdiscovery/nucleiGo

    All versions

  • github.com/projectdiscovery/nuclei/v2Go

    All versions

  • github.com/projectdiscovery/nuclei/v3Go

    From 3.0.0 · fixed in 3.3.2

References 2

GitHub · projectdiscovery/nuclei