V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
← Вернуться к списку
CWE-328БазаЧерновик
Абстракция: База
Статус: Черновик
Источник ↗

Использование слабой хэш-функции

Продукт использует алгоритм, формирующий дайджест (выходное значение), не соответствующий требованиям безопасности для хэш-функции, что позволяет злоумышленнику обоснованно восстановить исходные входные данные (атака на прообраз), найти другие входные данные с тем же хэшем (атака на второй прообраз) или найти несколько входных данных с одинаковым хэшем (атака «дня рождения»).

Открыть в каталоге с фильтром CWE →

Связанные уязвимости

CVE-2026-36182Было обнаружено, что GNCC GP5 v7.1.76 использует слабый алгоритм хеширования для защиты корневого пароля, что, возможно, позволяет злоумышленникам получать учетные данные и привилегии корневых элементов посредством атаки брутальной силы.
CVE-2025-41652Устройства уязвимы для обхода аутентификации из-за недостатков в механизме авторизации. Неаутентифицированный удаленный злоумышленник может использовать эту слабость, выполняя атаки грубой силы, чтобы угадать действительные учетные данные или используя методы столкновения MD5 для создания хеш-ейстей аутентификации, потенциально компрометируя устройство.
CVE-2025-27595Устройство использует слабый хеш-алгоритм для создания хеша пароля. Следовательно, совпадающий пароль может быть легко вычислен злоумышленником. Это влияет на безопасность и целостность устройства.
CVE-2024-54143openwrt/asu — это сервер изображений по запросу для дистрибутивов на основе OpenWrt. Механизм хеширования запросов усекает хеши SHA-256 только до 12 символов. Это значительно снижает энтропию, что позволяет злоумышленнику создавать коллизии. Используя это, ранее созданное вредоносное изображение может быть предоставлено вместо законного, что позволяет злоумышленнику «отравить» кэш артефактов и доставлять скомпрометированные изображения ничего не подозревающим пользователям. Это можно комбинировать с другими атаками, такими как внедрение команд в Imagebuilder, которое позволяет злоумышленникам внедрять произвольные команды в процесс сборки, что приводит к созданию вредоносных образов прошивки, подписанных законным ключом сборки. Это было исправлено с помощью 920c8a1.
CVE-2020-37168Система электронной коммерции 1.0 содержит слабую уязвимость криптографической реализации, которая позволяет злоумышленникам грубо форсировать секретный ключ производства из 16-символьного, используемый для генерации платежной подписи. Злоумышленники могут извлекать данные платежной формы и подписи из запросов POST до конечной точки платежа, а затем использовать хэш-сравнение SHA1 для итеративного тестирования ключевых кандидатов до обнаружения правильного производственного ключа, позволяющего им подделывать действительные платежные подписи и манипулировать суммами транзакций.
CVE-2023-46233crypto-js - это библиотека JavaScript криптостандартов. До версии 4.2.0 crypto-js PBKDF2 в 1 000 раз слабее, чем изначально указано в 1993 году, и по меньшей мере в 1 300 000 раз слабее, чем текущий индустриальный стандарт. Это происходит потому, что она по умолчанию использует SHA1, криптографический хеш-алгоритм, который считается небезопасным как минимум с 2005 года, и по умолчанию использует одну единственную итерацию, значение 'strength' или 'difficulty', указанное как 1 000, когда это было указано в 1993 году. PBKDF2 полагается на количество итераций как противодействие атакам предобраза и коллизиям. Если использовать для защиты паролей, влияние высоко. Если использовать для генерации подписей, влияние высоко. Версия 4.2.0 содержит патч для этой проблемы. В качестве обходного пути настройте crypto-js на использование SHA256 с по меньшей мере 250 000 итерациями.
CVE-2023-46133CryptoES — это библиотека криптографических алгоритмов, совместимая с ES6 и TypeScript. До версии 2.1.0 CryptoES PBKDF2 в 1000 раз слабее, чем было указано изначально в 1993 году, и как минимум в 1 300 000 раз слабее, чем текущий отраслевой стандарт. Это связано с тем, что по умолчанию используется SHA1, криптографический хеш-алгоритм, который считается небезопасным как минимум с 2005 года, и по умолчанию используется одна итерация, значение «силы» или «сложности», указанное как 1000 в 1993 году. PBKDF2 полагается на количество итераций в качестве контрмеры против прообразов и коллизионных атак. При использовании для защиты паролей воздействие является высоким. При использовании для создания подписей воздействие является высоким. Версия 2.1.0 содержит исправление для этой проблемы. В качестве обходного решения настройте CryptoES для использования SHA256 как минимум с 250 000 итераций.
CVE-2024-48847Обнаружены уязвимости, связанные с обходом контрольной суммы MD5, использующие слабость в способе, которым зависимость приложения вычисляет или проверяет хеши контрольной суммы MD5. Затронутые продукты: ABB ASPECT - Enterprise v3.08.01; NEXUS Series v3.08.01; MATRIX Series v3.08.01.
CVE-2023-43635Ключ хранилища запечатан с помощью SHA1 PCR Решение для измеренной загрузки, реализованное в EVE OS, опирается на механизм блокировки PCR. Различные части системы обновляют различные значения PCR в TPM, что приводит к уникальному значению для каждой записи PCR. Эти PCR затем используются для запечатывания/распломбирования ключа из TPM, который используется для шифрования/дешифрования каталога “хранилища”. Этот каталог “хранилища” является наиболее чувствительным местом в системе, и поэтому его содержимое должно быть защищено. Этот механизм отмечен в документации Zededa как механизм “измеренной загрузки”, предназначенный для защиты указанного “хранилища”. Код, отвечающий за создание и получение ключа из TPM, предполагает, что PCR SHA256 используются для запечатывания/распломбирования ключа, и поэтому проверяется их наличие. Проблема здесь в том, что ключ запечатан не с помощью PCR SHA256, а с помощью PCR SHA1. Это приводит к нескольким проблемам: • Машины, у которых включены PCR SHA256, но отключены PCR SHA1, а также вообще не запечатывают свои ключи, что означает, что “хранилище” не защищено от злоумышленника. • SHA1 считается небезопасным и снижает уровень сложности, необходимый для распломбирования ключа на машинах, у которых включены PCR SHA1. Злоумышленник может очень легко получить содержимое “хранилища”, что фактически делает механизм “измеренной загрузки” бессмысленным.
CVE-2023-43630PCR14 отсутствует в списке PCR, которые запечатывают/распломбируют ключ “хранилища”, но из-за изменения, которое было реализовано в коммите “7638364bc0acf8b5c481b5ce5fea11ad44ad7fd4”, исправление только этой проблемы не решит проблему неправильного измерения раздела конфигурации. Кроме того, ключ “хранилища” запечатывается/распломбируется с помощью SHA1 PCR вместо SHA256. Эта проблема была несколько смягчена благодаря всем функциям расширения PCR, обновляющим как значения SHA256, так и SHA1 для заданного идентификатора PCR. Однако из-за изменения, которое было реализовано в коммите “7638364bc0acf8b5c481b5ce5fea11ad44ad7fd4”, это больше не относится к PCR14, так как код в “measurefs.go” явно обновляет только экземпляр SHA256 PCR14, что означает, что даже если бы PCR14 был добавлен в список PCR, запечатывающих/распломбирующих ключ “хранилища”, изменения в разделе конфигурации все равно не были бы измерены. Злоумышленник может изменить раздел конфигурации, не запуская измеренную загрузку, что может привести к тому, что злоумышленник получит полный контроль над устройством с полным доступом к содержимому зашифрованного “хранилища”.
CVE-2026-32129Soroban-poseidon предоставляет криптографические хеш-функции Poseidon и Poseidon2 для смарт-контрактов Soroban. Poseidon V1 (PoseidonSponge) принимает входы переменной длины без инъективной прокладки. Когда абонент обеспечивает меньше входов, чем скорость губки (inputs.len() < T - 1), неиспользованные позиции ставки неявно нулевой заполненной. Это позволяет тривиальные хеш-сталкивания: для любого входного вектора [m1 ..., mk] хеш, хеш (m1, mk], равного хэшу (m1, mk]), равно хэш (m1, ..., mk, 0]), потому что оба производят одинаковые состояния предварительной перестановки. Это влияет на любое использование PoseidonSponge или poseidon_hash, где количество входов меньше, чем T-1 (например, хеширование 1 входа с T=3). Poseidon2 (Poseidon2Sponge) не затрагивается.
CVE-2024-48924### Влияние Когда эта библиотека используется для десериализации данных messagepack из ненадежного источника, существует риск отказа в обслуживании в результате атаки злоумышленника, который отправляет данные, предназначенные для создания коллизий хешей, что приводит к большому потреблению ЦП, несоразмерному размеру десериализуемых данных. Это похоже на [предыдущую рекомендацию](https://github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSA-7q36-4xx7-xcxf), которая предоставляла неадекватное исправление для части уязвимости, связанной с коллизией хешей. ### Исправления Для снижения этого риска необходимо выполнить следующие шаги. 1. Обновитесь до версии библиотеки, в которой доступно исправление. 2. Просмотрите шаги в [этой предыдущей рекомендации](https://github.com/MessagePack-CSharp/MessagePack-CSharp/security/advisories/GHSA-7q36-4xx7-xcxf), чтобы убедиться, что ваше приложение настроено для работы с ненадежными данными. ### Обходные пути Если обновление MessagePack до исправленной версии не является для вас вариантом, вы можете применить обходной путь вручную следующим образом: 1. Объявите класс, который является производным от `MessagePackSecurity`. 2. Переопределите метод `GetHashCollisionResistantEqualityComparer<T>`, чтобы предоставить свою собственную функцию хеширования, устойчивую к коллизиям, и не вызывайте `base.GetHashCollisionResistantEqualityComparer<T>()`. 3. Настройте `MessagePackSerializerOptions` с экземпляром вашего производного типа, вызвав `WithSecurity` для существующего объекта параметров. 4. Используйте свой собственный объект параметров для всех операций десериализации. Это может быть путем установки статического свойства `MessagePackSerializer.DefaultOptions`, если вы вызываете методы, которые полагаются на это свойство по умолчанию, и/или путем явной передачи объекта параметров любому методу `Deserialize`. ### Ссылки - Узнайте больше о лучших практиках безопасности при чтении ненадежных данных с помощью [MessagePack 1.x](https://github.com/MessagePack-CSharp/MessagePack-CSharp/tree/v1.x#security) или [MessagePack 2.x](https://github.com/MessagePack-CSharp/MessagePack-CSharp#security). - [Обсуждение командой .NET уязвимостей, связанных с коллизией хешей, их структурой `HashCode`](https://github.com/GrabYourPitchforks/runtime/blob/threat_models/docs/design/security/System.HashCode.md). ### Для получения дополнительной информации Если у вас есть какие-либо вопросы или комментарии по поводу этой рекомендации: * [Начните публичное обсуждение](https://github.com/MessagePack-CSharp/MessagePack-CSharp/discussions) * [Напишите нам в частном порядке](mailto:andrewarnott@live.com)
CVE-2022-45141Поскольку корпорация Майкрософт раскрыла уязвимость повышения привилегий Windows Kerberos RC4-HMAC 8 ноября 2022 г., и согласно RFC8429 предполагается, что rc4-hmac является слабым, уязвимые контроллеры домена Samba Active Directory будут выдавать билеты, зашифрованные rc4-hmac, несмотря на то, что целевой сервер поддерживает лучшее шифрование (например, aes256-cts-hmac-sha1-96).
CVE-2022-38023Уязвимость повышения привилегий в Netlogon RPC.
CVE-2022-45379Jenkins Script Security Plugin 1189.vb_a_b_7c8fd5fde и более ранние версии хранят подтверждения всего скрипта в виде хеша SHA-1 скрипта, что делает его уязвимым для коллизионных атак.