Skip to content
LowVulnerability

GHSA-9wxg-vf3r-56hc: OpenZeppelin Contracts Wizard: Line terminators in info.securityContact / info.license can inject lines into generated source

Published
Record updated
View JSON
Affected
  • @openzeppelin/wizard-stylus <= 0.3.0, fixed in 0.3.1, released June 18, 2026, 1 day before disclosure
  • @openzeppelin/wizard-stellar <= 0.6.1, fixed in 0.6.2, released June 18, 2026, 1 day before disclosure
  • @openzeppelin/wizard-cairo <= 3.0.0, fixed in 3.0.1, released June 18, 2026, 1 day before disclosure
  • and 1 more

Summary

The OpenZeppelin Contracts Wizard generators printed info.securityContact and info.license into a single-line comment in generated Solidity, Cairo, Stellar/Soroban and Stylus source without rejecting line terminators. A newline (\n or \r\n) in either field ends the comment, letting arbitrary declarations be injected into the generated contract. The impact is integrity-only and matters only when these fields are filled from untrusted input, such as an MCP agent whose tool arguments derive from processed content.

Mitigation

Fixed by rejecting line terminators in setInfo, the single code path all surfaces use. Upgrade to the patched versions. @openzeppelin/wizard-confidential and @openzeppelin/wizard-uniswap-hooks receive the fix once their @openzeppelin/wizard dependency is updated to a patched version.