V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
← Вернуться к списку
OpenzeppelinПриложениеnvd,anchore_overrides

Contracts Upgradeable

Уязвимости
13
Эксплуатируемые
0
Макс. CVSS
8.8
Макс. EPSS
0.00812

Распределение по критичности

Критический
0
Высокий
4
Средний
9
Низкий
0

Затронутые диапазоны версий

3.2.0–4.4.13.2.0–4.7.23.2.0–4.8.34.1.0–4.7.34.3.0–4.7.24.3.0–4.8.34.3.0–4.9.14.5.0–4.9.64.6.0–4.7.24.7.0–4.9.24.8.0–4.8.25.2.0–5.4.0
Также сопоставлено как (исходные строки): openzeppelin-solidity,contracts,contracts_upgradeable,openzeppelin-eth

Топ уязвимостей

CVE-2023-30542OpenZeppelin Contracts — это библиотека для безопасной разработки смарт-контрактов. Точка входа для создания предложений (`propose`) в `GovernorCompatibilityBravo` позволяет создавать предложения с массивом `signatures` короче, чем массив `calldatas`. Это приводит к тому, что дополнительные элементы последнего игнорируются, и если предложение будет успешным, соответствующие действия в конечном итоге будут выполняться без каких-либо calldata. Событие `ProposalCreated` правильно отражает то, что в конечном итоге будет выполнено, но параметры предложения, запрашиваемые через `getActions`, похоже, соответствуют исходному предполагаемому calldata. Эта проблема была исправлена в версии 4.8.3. В качестве обходного пути убедитесь, что все предложения, проходящие через управление, имеют параметры `signatures` и `calldatas` одинаковой длины.
CVE-2023-49798OpenZeppelin Contracts — это библиотека для разработки смарт-контрактов. Проблема слияния при переносе исправления 5.0.1 в ветку 4.9 привела к дублированию строки. В версии `Multicall.sol`, выпущенной в `@openzeppelin/contracts@4.9.4` и `@openzeppelin/contracts-upgradeable@4.9.4`, все подвызовы выполняются дважды. В частности, это подвергает пользователя непреднамеренному дублированию таких операций, как переводы активов. Дублированный делегированный вызов был удален в версии 4.9.5. Версия 4.9.4 помечена как устаревшая. Пользователям рекомендуется обновиться. Обходных путей для этой проблемы не существует.
CVE-2022-31198OpenZeppelin Contracts — это библиотека для безопасной разработки смарт-контрактов. Эта проблема касается экземпляров Governor, которые используют модуль `GovernorVotesQuorumFraction`, механизм, определяющий требования к кворуму в процентах от общего количества токенов для голосования. В затронутых экземплярах, когда предлагается снизить требования к кворуму, прошлые предложения могут стать исполняемыми, если они были отклонены только из-за отсутствия кворума, и количество полученных ими голосов соответствует новому требованию к кворуму. Анализ экземпляров в цепочке показал только одно предложение, которое соответствовало этому условию, и мы активно отслеживаем новые случаи этой конкретной проблемы. Эта проблема была исправлена ​​в v4.7.2. Пользователям рекомендуется выполнить обновление. Пользователям, не имеющим возможности выполнить обновление, следует рассмотреть возможность избежания снижения требований к кворуму, если прошлое предложение было отклонено из-за отсутствия кворума.
CVE-2024-27094OpenZeppelin Contracts - это библиотека для безопасной разработки смарт-контрактов. Функция `Base64.encode` кодирует входные данные `bytes`, итерируя их по частям по 3 байта. Если эти входные данные не кратны 3, последняя итерация может считывать части памяти, которые находятся за пределами входного буфера. Уязвимость исправлена в версиях 5.0.2 и 4.9.6.
CVE-2025-54070В библиотеке OpenZeppelin Contracts обнаружена уязвимость в функции `lastIndexOf(bytes,byte,uint256)` библиотеки `Bytes.sol`, которая может привести к доступу к неинициализированной памяти при определенных условиях. Злоумышленник может использовать эту уязвимость для вызова неожиданного поведения [1]. Источники: - [1] https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-9rcw-c2f9-2j55 - [2] https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.4.0
CVE-2023-26488OpenZeppelin Contracts - это библиотека для безопасной разработки смарт-контрактов. Контракт ERC721Consecutive, предназначенный для выпуска NFT партиями, не обновляет балансы, когда размер партии равен 1 и состоит из одного токена. Последующие переводы от получателя этого токена могут привести к переполнению баланса, о котором сообщает `balanceOf`. Проблема возникает исключительно с партиями размером 1. Проблема была исправлена в версии 4.8.2.
CVE-2022-35961OpenZeppelin Contracts - это библиотека для разработки безопасных смарт-контрактов. Функции `ECDSA.recover` и `ECDSA.tryRecover` уязвимы для своего рода пластичности подписи из-за принятия компактных подписей EIP-2098 в дополнение к традиционному 65-байтовому формату подписи. Это проблема только для функций, которые принимают один аргумент `bytes`, а не для функций, которые принимают `r, v, s` или `r, vs` в качестве отдельных аргументов. Потенциально уязвимыми контрактами являются те, которые реализуют повторное использование подписи или защиту от повторного воспроизведения, отмечая саму подпись как использованную, а не подписанное сообщение или включенный в него nonce. Пользователь может взять уже отправленную подпись, отправить ее снова в другой форме и обойти эту защиту. Проблема была исправлена в версии 4.7.3.
CVE-2023-34459OpenZeppelin Contracts - это библиотека для разработки смарт-контрактов. Начиная с версии 4.7.0 и до версии 4.9.2, при использовании функций `verifyMultiProof`, `verifyMultiProofCalldata`, `procesprocessMultiProof` или `processMultiProofCalldat` можно создавать деревья Меркла, которые позволяют подделывать действительное мультидоказательство для произвольного набора листьев. Контракт может быть уязвим, если он использует мультидоказательства для проверки, а дерево Меркла, которое обрабатывается, включает узел со значением 0 на глубине 1 (непосредственно под корнем). Это может произойти непреднамеренно для сбалансированных деревьев с 3 листьями или меньше, если листья не хешированы. Это может произойти преднамеренно, если злонамеренный построитель дерева включает такой узел в дерево. Контракт не уязвим, если он использует однолистовую проверку (`verify`, `verifyCalldata`, `processProof` или `processProofCalldata`) или если он использует мультидоказательства с известным деревом, которое имеет хешированные листья. Стандартные деревья Меркла, созданные или проверенные с помощью библиотеки @openzeppelin/merkle-tree, безопасны. Проблема была исправлена в версии 4.9.2. Доступны некоторые обходные пути. Для тех, кто использует мультидоказательства: при построении деревьев Меркла хешируйте листья и не вставляйте пустые узлы в свои деревья. Использование пакета @openzeppelin/merkle-tree устраняет эту проблему. Не принимайте предоставленные пользователем корни Меркла, не восстановив хотя бы первый уровень дерева. Проверьте структуру дерева Меркла, восстановив его из листьев.
CVE-2022-39384OpenZeppelin Contracts — это библиотека для безопасной разработки смарт-контрактов. В версиях до 4.4.1, но после 3.2.0, функции инициализации, вызываемые отдельно от создания контракта (наиболее ярким примером являются минимальные прокси), могут быть повторно вызваны, если они выполняют ненадежный внешний вызов, не связанный с просмотром. После завершения работы инициализатора он никогда не может быть выполнен повторно. Однако исключение, введенное для поддержки множественного наследования, сделало возможным повторный вход в описанном выше сценарии, нарушив ожидание однократного выполнения. Обратите внимание, что обновляемые прокси обычно инициализируются вместе с созданием контракта, где повторный вход невозможен, поэтому влияние этой проблемы считается незначительным. Эта проблема была исправлена, пожалуйста, обновитесь до версии 4.4.1. В качестве обходного пути избегайте ненадежных внешних вызовов во время инициализации.
CVE-2023-34234OpenZeppelin Contracts - это библиотека для разработки смарт-контрактов. Перехватив создание предложения, злоумышленник может стать инициатором и получить возможность отменить его. Злоумышленник может делать это повторно, чтобы вообще предотвратить внесение предложения. Это влияет на контракт `Governor` только в версии 4.9.0 и на контракт `GovernorCompatibilityBravo` начиная с версии 4.3.0. Эта проблема была исправлена в версии 4.9.1 путем введения дополнительной защиты от перехвата. Пользователям рекомендуется обновиться. Пользователи, которые не могут обновиться, могут отправить транзакцию создания предложения в конечную точку с защитой от перехвата в качестве обходного пути.
CVE-2023-30541OpenZeppelin Contracts — это библиотека для безопасной разработки смарт-контрактов. Функция в контракте реализации может быть недоступна, если ее селектор конфликтует с одним из собственных селекторов прокси. В частности, если конфликтующая функция имеет другую сигнатуру с несовместимой кодировкой ABI, прокси может вернуться при попытке декодировать аргументы из calldata. Вероятность случайного конфликта незначительна, но он может быть вызван намеренно и может привести к снижению доступности. Проблема была решена в версии 4.8.3. В качестве обходного пути, если функция кажется недоступной по этой причине, можно создать calldata таким образом, чтобы декодирование ABI не завершилось с ошибкой в прокси, и функция была правильно проксирована.
CVE-2022-35916OpenZeppelin Contracts - это библиотека для безопасной разработки смарт-контрактов. Контракты, использующие кросс-чейн утилиты для Arbitrum L2, `CrossChainEnabledArbitrumL2` или `LibArbitrumL2`, будут классифицировать прямые взаимодействия внешних учетных записей (EOA) как кросс-чейн вызовы, даже если они не были начаты на L1. Эта проблема была исправлена в версии v4.7.2. Пользователям рекомендуется обновиться. Для решения этой проблемы нет известных обходных путей.
CVE-2022-35915OpenZeppelin Contracts - это библиотека для безопасной разработки смарт-контрактов. Целевой контракт запроса EIP-165 `supportsInterface` может вызвать неограниченное потребление газа, возвращая много данных, в то время как обычно предполагается, что эта операция имеет ограниченную стоимость. Проблема была исправлена в версии v4.7.2. Пользователям рекомендуется обновиться. Для решения этой проблемы нет известных обходных путей.
Перейти к вендору →Открыть в каталоге с фильтром по продукту →