Skip to content
OpenAdvisories
High · 8.0 Scanner template Public exploit CVE-2021-32819 EUVD-2021-1163GHSA-q8j6-pwqx-pm96

Remote code execution in squirrelly

Published May 14, 2021 · Updated Aug 3, 2024 · Assigned by GitHub_M

Description

Squirrelly is a template engine implemented in JavaScript that works out of the box with ExpressJS. Squirrelly mixes pure template data with engine configuration options through the Express render API. By overwriting internal configuration options remote code execution may be triggered in downstream applications. This issue is fixed in version 9.0.0. For complete details refer to the referenced GHSL-2021-023.

Affected products

VendorProductAffectedFixed
squirrellyjs squirrelly 9.0.0 – < 9.0.0 9.0.0

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

  • Abady0x1/CVE-2021-32819 ★ 10 · Jun 12, 2021

    SquirrellyJS mixes pure template data with engine configuration options through the Express render API. By overwriting internal configuration options, remote code execution may be triggered in downst…

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Automated scanner template

A ready-made Nuclei template detects this vulnerability automatically. Vulnerabilities with public scanner templates are typically probed across the internet soon after the template appears — exposed systems should be patched first.

Source: projectdiscovery/nuclei-templates (MIT) — updated daily. Only links are listed.

Affected packages

EcosystemPackageAffectedFixedRecord
npm squirrelly < 9.0.0 9.0.0 GHSA-q8j6-pwqx-pm96

References