HIGH 8.8 npm
OpenZeppelin Contracts Wizard has Code Injection in Generated Hardhat and Foundry Tests via Unsanitized opts.name / opts.uri
GHSA-4x76-22x2-rx8v · CVE-2026-48054
Published · Modified
Description
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 ran npm test or forge test on the downloaded project.
Impact
- Users of the hosted Wizard at https://wizard.openzeppelin.com: no action required. The site has been redeployed with the fix.
- Users of
@openzeppelin/wizardvia the documented public API: not affected. The vulnerable functions (zipHardhat,zipFoundry) are not part of the package's documented public exports. - Callers of
zipHardhat/zipFoundrywho forward externally-controlled strings intoopts.name/opts.uri: upgrade to0.10.9.
Patches
Fixed in @openzeppelin/wizard@0.10.9.
References
- WEB https://github.com/OpenZeppelin/contracts-wizard/security/advisories/GHSA-4x76-22x2-rx8v
- WEB https://github.com/OpenZeppelin/contracts-wizard/commit/ec12c44f8d9e0491eba31037f95b36e98ec58b5f
- PACKAGE https://github.com/OpenZeppelin/contracts-wizard
- WEB https://github.com/OpenZeppelin/contracts-wizard/releases/tag/%40openzeppelin%2Fwizard%400.10.9
Ready to move
Start Securing
Free, no credit card | First findings in minutes