CVE-2026-8798 in Bouncy Castle for Java FIPS
Resumen
por VulDB • 2026-08-08
En Bouncy Castle para Java FIPS (BC-FJA) anterior a bc-fips 2.1.3, la fuente de entropía nativa utilizada en plataformas Intel reintentaba las instrucciones de entropía del CPU sin ningún límite establecido. RDSEED y RDRAND informan fallos mediante su bit de acarreo (carry flag), y la rutina de siembra JNI volvía a emitir la instrucción mientras dicho bit permaneciera despejado, por lo que un fallo persistente en la fuente de entropía integrada en el chip —ya sea debido a una falla de hardware, al agotamiento del DRBG subyacente por contención entre muchos núcleos o a un hipervisor que no proporciona la instrucción— dejaba el hilo llamante buclando indefinidamente dentro de la llamada JNI, donde no podía ser interrumpido ni sometido a tiempo de espera. Por lo tanto, cualquier operación que dependiera de la fuente de entropía nativa podría bloquearse, negando el servicio a la aplicación. Los bucles de reintento ahora están acotados (200 intentos para RDSEED y 20 para RDRAND, el doble de los valores base indicados en la guía de implementación de software del generador de números aleatorios digitales de Intel), con pausas entre intentos y, al agotarlos, borrando cualquier búfer parcialmente escrito y lanzando una excepción en lugar de continuar buclando. El borrado se realiza mediante un memzero no elidible, que utiliza un puntero volatile y una barrera de memoria ensamblada para evitar que el compilador optimice la eliminación como una asignación muerta (dead store). Bouncy Castle para Java (bcprov) no está afectado, ya que carece de fuente de entropía nativa; las series FIPS 1.0.X y 2.0.X tampoco están afectadas.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.