Katalog CVE

CVE-2026-48054

WysokieCVSS 8.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.46%

Percentyl 37 - wyżej niż 37% wszystkich znanych CVE

Streszczenie

OpenZeppelin Contracts Wizard przed wersją 0.10.9 generuje plik testowy Hardhat (`test/test.ts`) przez interpolację dostarczonego przez użytkownika `opts.name` (ERC20/ERC721) i `opts.uri` (ERC1155) bezpośrednio do literałów łańcuchowych TypeScript w `zip-hardhat.ts:48` i `:50` bez żadnego escapowania. Nie jest wymagane uwierzytelnienie: atakujący tworzy URL taki jak `https://wizard.openzeppelin.com/#/erc20?name=");require("child_process").execSync("...");("` i udostępnia go deweloperowi. Gdy ofiara pobierze wynikowy archiwum zip i uruchomi `npx hardhat test`, wstrzyknięty kod Node.js wykonuje się z uprawnieniami lokalnego systemu operacyjnego dewelopera.

Ocena ryzyka

Atakujący może wykonać dowolny kod na maszynie dewelopera, co może prowadzić do przejęcia systemu, kradzieży danych lub dalszego rozprzestrzeniania ataku w środowisku deweloperskim.

Rekomendacja

Zaktualizuj OpenZeppelin Contracts Wizard do wersji 0.10.9 lub nowszej, która zawiera poprawkę. Dodatkowo, deweloperzy powinni zachować ostrożność przy otwieraniu archiwów z nieznanych źródeł.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

OpenZeppelin Contracts Wizardis a web application to interactively build a contract out of components from OpenZeppelin Contracts. Versions prior to 0.10.9 generate a Hardhat test file (`test/test.ts`) by interpolating user-supplied `opts.name` (ERC20/ERC721) and `opts.uri` (ERC1155) directly into TypeScript string literals at `zip-hardhat.ts:48` and `:50` without any JavaScript string escaping. No authentication is required: an attacker crafts a URL such as `https[:]//wizard[.]openzeppelin[.]com/#/erc20?name=");require("child_process").execSync("...");("` and shares it with a developer. When the victim downloads the resulting zip archive and runs `npx hardhat test`, the injected Node.js code executes with the developer's local OS privileges. Version 0.10.9 fixes the issue.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS