OpenZeppelin Contracts Wizard has Code Injection in Generated Hardhat and Foundry Tests via Unsanitized opts.name / opts.uri
High severity
GitHub Reviewed
Published
May 20, 2026
in
OpenZeppelin/contracts-wizard
•
Updated Jun 11, 2026
Description
Published to the GitHub Advisory Database
Jun 11, 2026
Reviewed
Jun 11, 2026
Last updated
Jun 11, 2026
Summary
The OpenZeppelin Contracts Wizard generated Hardhat (
test/test.ts) and Foundry (test/<Name>.t.sol) example test files that interpolated user-supplied strings (opts.name,opts.uri) into the test source without escaping. A crafted input could produce a generated test file in which the input string broke out of its surrounding literal and was parsed as code, executing when a developer rannpm testorforge teston the downloaded project.Impact
@openzeppelin/wizardvia the documented public API: not affected. The vulnerable functions (zipHardhat,zipFoundry) are not part of the package's documented public exports.zipHardhat/zipFoundrywho forward externally-controlled strings intoopts.name/opts.uri: upgrade to0.10.9.Patches
Fixed in
@openzeppelin/wizard@0.10.9.References