CVE-2026-71888 in BC-JAVAИнформация

Сводка

по VulDB • 03.10.2026

В Bouncy Castle для Java до версии 1.86 парсер потокового CMS AuthenticatedData принимал сообщение, в котором поля digestAlgorithm и authAttrs содержали противоречивые указания относительно наличия аутентифицированных атрибутов. Согласно разделу 9.1 RFC 5652, эти два поля должны быть согласованы: поле authAttrs должно присутствовать всякий раз, когда присутствует digestAlgorithm, а согласно разделу 9.2, MAC (Message Authentication Code) должен покрывать DER-кодирование authAttrs при их наличии и непосредственно OCTET STRING eContent — при их отсутствии. Класс CMSAuthenticatedDataParser вынужден выбирать между этими двумя вариантами в своем конструкторе до того, как сможет получить доступ к authAttrs, которые следуют позже в структуре SEQUENCE; поэтому он опирался только на наличие digestAlgorithm: для сообщения с отсутствующим digestAlgorithm, но присутствующими authAttrs, система проверяла MAC контента и затем возвращала атрибуты через метод getAuthAttrs() так, как будто они были аутентифицированы, хотя MAC их никогда не покрывал. Атакующий, способный модифицировать сообщение в процессе передачи, мог вставить аутентифицированный атрибут (например, ESSSecurityLabel согласно RFC 2634) в иначе корректное сообщение, не обладая ни ключом шифрования ключа, ни ключом MAC контента; приложение, принимающее решения об авторизации, маршрутизации или маркировке на основе этих атрибутов, будет действовать с использованием значений, выбранных атакующим. Сам контент оставался защищенным привязкой к MAC (MAC-bound). Класс asn1.cms.AuthenticatedData теперь отклоняет несоответствующую пару полей при разборе, а CMSAuthenticatedDataParser выполняет перекрестную проверку этих двух полей после чтения authAttrs. Это вариант уязвимости CVE-2026-59642, которая обеспечивала привязку контента к MAC для сообщений, легитимно содержащих authAttrs, и не решает данный случай. Эта проблема также затрагивает Bouncy Castle для Java LTS до версии 2.73.13, а также Bouncy Castle для Java FIPS (BC-FJA) до версий bcpkix-fips 1.0.13 (серия 1.0.X), 2.0.13 (серия 2.0.X) и 2.1.13 (серия 2.1.X), а также bcutil-fips 2.0.8 (серия 2.0.X) и 2.1.8 (серия 2.1.X).

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Ответственный

Bcorg

Резервировать

08.08.2026

Раскрытие

03.10.2026

Модерация

принято

Вход

VDB-413339

EPSS

0.00112

KEV

Нет

Деятельности

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!