Bc-java
Уязвимости
19
Эксплуатируемые
0
Макс. CVSS
10
Макс. EPSS
0.24282
Распределение по критичности
Критический
1
Высокий
2
Средний
14
Низкий
2
Затронутые диапазоны версий
1.51–1.551.54–1.591.58–1.60< 1.59< 1.74≤ 1.37≤ 1.49≤ 1.55
Также сопоставлено как (исходные строки): bc-java,bouncy-castle-crypto-package,fips_java_api
Топ уязвимостей
CVE-2007-6721Legion of the Bouncy Castle Java Cryptography API до версии 1.38, используемый в Crypto Provider Package до версии 1.36, имеет неизвестное воздействие и векторы удаленной атаки, связанные с "уязвимостью Bleichenbacher в простых RSA CMS-подписях без подписанных атрибутов".
CVE-2020-28052В Legion of the Bouncy Castle BC Java 1.65 и 1.66 обнаружена проблема. Утилита OpenBSDBCrypt.checkPassword сравнивала неверные данные при проверке пароля, позволяя неверным паролям указывать на то, что они совпадают с ранее хешированными паролями, которые были другими.
CVE-2019-17359ASN.1 парсер в Bouncy Castle Crypto (aka BC Java) 1.63 может вызвать большую попытку выделения памяти и, как следствие, ошибку OutOfMemoryError через специально созданные ASN.1 данные. Это исправлено в версии 1.64.
CVE-2017-13098BouncyCastle TLS до версии 1.0.3, при настройке на использование JCE (Java Cryptography Extension) для криптографических функций, предоставляет слабый Bleichenbacher oracle, когда согласован любой набор шифров TLS, использующий обмен ключами RSA. Злоумышленник может восстановить закрытый ключ из уязвимого приложения. Эта уязвимость называется "ROBOT".
CVE-2016-2427Спецификация AES-GCM в RFC 5084, используемая в Android 5.x и 6.x, рекомендует 12 октетов для поля параметра aes-ICVlen, что может облегчить злоумышленникам обход механизма криптографической защиты и обнаружение ключа аутентификации через специально созданное приложение, также известную как внутренняя ошибка 26234568. ПРИМЕЧАНИЕ: Поставщик оспаривает существование этой потенциальной проблемы в Android, заявляя, что "Этот CVE был поднят по ошибке: он относится к размеру тега аутентификации в GCM, значение которого по умолчанию в соответствии с кодировкой ASN.1 (12 байт) может привести к уязвимостям. После тщательного рассмотрения было решено, что небезопасное значение по умолчанию 12 байт было значением по умолчанию только для кодировки, а не по умолчанию где-либо еще в Android, и поэтому никакой уязвимости не существовало".
CVE-2023-33201Bouncy Castle For Java до 1.74 подвержен уязвимости LDAP-инъекции. Уязвимость затрагивает только приложения, которые используют LDAP CertStore из Bouncy Castle для проверки сертификатов X.509. Во время процесса проверки сертификата Bouncy Castle вставляет имя субъекта сертификата в поисковый фильтр LDAP без какого-либо экранирования, что приводит к уязвимости LDAP-инъекции.
CVE-2018-5382В хранилище ключей BKS по умолчанию используется HMAC длиной всего 16 бит, что может позволить злоумышленнику скомпрометировать целостность хранилища ключей BKS. В выпуске Bouncy Castle 1.47 формат BKS изменен на формат, использующий 160-битный HMAC. Это относится к любому хранилищу ключей BKS, созданному до BC 1.47. Для ситуаций, когда людям необходимо создавать файлы по устаревшим причинам, в версии 1.49 был представлен специальный тип хранилища ключей "BKS-V1". Следует отметить, что использование "BKS-V1" не рекомендуется авторами библиотеки и должно использоваться только там, где это безопасно, например, там, где использование 16-битной контрольной суммы для проверки целостности файла не приведет к проблемам безопасности.
CVE-2016-1000342В Bouncy Castle JCE Provider версии 1.55 и более ранних ECDSA не полностью проверяет ASN.1 кодировку подписи при верификации. Возможно внедрение дополнительных элементов в последовательность, составляющую подпись, и при этом ее проверка будет пройдена, что в некоторых случаях может позволить внедрить «невидимые» данные в подписанную структуру.
CVE-2016-1000341В Bouncy Castle JCE Provider версии 1.55 и более ранних генерация подписи DSA уязвима для атаки по времени. Если можно внимательно наблюдать за временем генерации подписей, отсутствие ослепления в версии 1.55 или более ранних может позволить злоумышленнику получить информацию о значении k подписи и, в конечном итоге, о закрытом значении.
CVE-2016-1000339В Bouncy Castle JCE Provider версии 1.55 и более ранних основным классом движка, используемым для AES, был AESFastEngine. Из-за подхода, основанного на таблицах, используемого в алгоритме, оказалось, что если можно отслеживать канал данных на ЦП, то доступа к таблице поиска достаточно для утечки информации об используемом ключе AES. Также была утечка в AESEngine, хотя и значительно меньше. AESEngine был изменен, чтобы удалить любые признаки утечки (тестирование проводилось на Intel X86-64), и теперь является основным классом AES для BC JCE provider начиная с версии 1.56. Использование AESFastEngine теперь рекомендуется только там, где это в противном случае сочтено целесообразным.
CVE-2013-1624Реализация TLS в библиотеке Bouncy Castle Java до версии 1.48 и библиотеке C# до версии 1.8 неправильно учитывает атаки по сторонним каналам времени на несовместимую операцию проверки MAC во время обработки неправильно сформированного заполнения CBC, что позволяет удаленным злоумышленникам проводить разграничительные атаки и атаки восстановления открытого текста посредством статистического анализа данных о времени для созданных пакетов, что связано с проблемой CVE-2013-0169.
CVE-2018-1000613Legion of the Bouncy Castle Legion of the Bouncy Castle Java Cryptography APIs с 1.58 до 1.60 (не включая) содержит CWE-470: Использование внешнего ввода для выбора классов или кода ('Unsafe Reflection') уязвимость в десериализации закрытого ключа XMSS/XMSS^MT, которая может привести к выполнению неожиданного кода при десериализации закрытого ключа XMSS/XMSS^MT. Эта атака, по-видимому, может быть использована, если вручную созданный закрытый ключ может включать ссылки на неожиданные классы, которые будут выбраны из пути класса для выполняемого приложения. Эта уязвимость, по-видимому, была исправлена в версии 1.60 и более поздних.
CVE-2018-1000180Bouncy Castle BC 1.54 - 1.59, BC-FJA 1.0.0, BC-FJA 1.0.1 и более ранние имеют недостаток в низкоуровневом интерфейсе для генератора пар ключей RSA, в частности, пары ключей RSA, сгенерированные в низкоуровневом API с добавленной уверенностью, могут иметь меньше тестов M-R, чем ожидалось. Это, по-видимому, исправлено в версиях BC 1.60 beta 4 и более поздних, BC-FJA 1.0.2 и более поздних.
CVE-2016-1000352В Bouncy Castle JCE Provider версии 1.55 и более ранних реализация ECIES позволяла использовать режим ECB. Этот режим считается небезопасным, и поддержка его была удалена из провайдера.
CVE-2016-1000346В Bouncy Castle JCE Provider версии 1.55 и более ранних открытый ключ DH другой стороны не полностью проверяется. Это может вызвать проблемы, поскольку недействительные ключи могут использоваться для раскрытия информации о закрытом ключе другой стороны, если используется статический Diffie-Hellman. Начиная с версии 1.56 параметры ключа проверяются при расчете согласования.
CVE-2016-1000345В Bouncy Castle JCE Provider версии 1.55 и более ранних режим DHIES/ECIES CBC уязвим для атаки padding oracle. Для BC 1.55 и старше, в среде, где можно легко наблюдать за временем, можно с достаточным количеством наблюдений определить, когда расшифровка завершается неудачей из-за padding.
CVE-2016-1000344В Bouncy Castle JCE Provider версии 1.55 и более ранних реализация DHIES позволяла использовать режим ECB. Этот режим считается небезопасным, и поддержка его была удалена из провайдера.
CVE-2016-1000343В Bouncy Castle JCE Provider версии 1.55 и более ранних генератор пар ключей DSA генерирует слабый закрытый ключ, если используется со значениями по умолчанию. Если генератор пар ключей JCA явно не инициализирован с параметрами DSA, версия 1.55 и более ранние генерируют закрытое значение, предполагая размер ключа 1024 бита. В более ранних версиях это можно решить, явно передав параметры генератору пар ключей.
CVE-2016-1000340В Bouncy Castle JCE Provider версиях с 1.51 по 1.55 была внесена ошибка распространения переноса в реализацию возведения в квадрат для нескольких классов необработанной математики (org.bouncycastle.math.raw.Nat???). Эти классы используются нашими пользовательскими реализациями эллиптических кривых (org.bouncycastle.math.ec.custom.**), поэтому существовала возможность редких (в обычном использовании) ложных вычислений для скалярных умножений эллиптических кривых. Такие ошибки были бы обнаружены с высокой вероятностью при проверке вывода для наших скалярных умножителей.