21 feb 2023

Miles de Apps Android fallan porque dependen de una biblioteca... que depende de un desarrollador

En noviembre de 2021, Google anunció cambios en el formato de su archivo de lista de logs de transparencia de certificados de Chrome y, en agosto de 2022, notificó a los desarrolladores cuyas aplicaciones podrían verse afectadas que dejaría de publicar archivos de lista de registro heredados el 17 de octubre de 2022.

Un registro de transparencia de certificados es un "libro público" con certificados digitales recién emitidos y confiables. El objetivo general de esto es permitir que las organizaciones y los internautas supervisen y auditen fácilmente estos últimos certificados, y detecten e invaliden certificados falsos o emitidos incorrectamente que podrían usarse, por ejemplo, para suplantar servicios y desarrolladores de software. Google toma estos registros de las autoridades de certificación y lo publica de forma consolidada como el registro de transparencia de certificados de Chrome.

"Si hay herramientas u otras dependencias que aún dependen de estas versiones anteriores, animamos a los mantenedores a migrar a la lista v3 antes de esta fecha", advirtió Devon O'Brien, ingeniero de seguridad de Chrome, en un grupo de discusión de Certificate Transparency.

El gigante de Internet esperaba pasar a la versión 3 de ese formato de archivo de registro y abandonar la versión 2, aunque no salió según lo planeado. Los desarrolladores pasaron por alto las advertencias y descubrieron que el código se basa en la actualización de una biblioteca que depende de un único desarrollador de código abierto.

Google dejó de publicar la v1 en octubre y luego, al mes siguiente, ofreció un plan de transición a través del cual los datos de la v3 se podían obtener desde la v2 hasta el 15 de febrero. Google cambió el esquema del archivo CT Log List que distribuye, alterando el conjunto de claves y valores en el archivo JSON. Por lo tanto, las aplicaciones que esperaban la versión 2 de este archivo debían revisarse para manejar el formato de datos de la versión 3.

Pero no todos recibieron el memorándum. Y cuando llegó la fecha límite el miércoles 15 de febrero de 2023, las aplicaciones que dependían del registro de Chrome y no esperaban el nuevo formato fallaron. Todo salió mal porque una biblioteca de terceros para Android y Java Virtual Machine (JVM)   (com.appmattus.certificatetransparency) no estaba preparada para la transición al esquema v3.

La situación con la biblioteca, mantenida principalmente por un solo desarrollador con sede en el Reino Unido, es que el pull request, enviado en septiembre de 2022, para migrar la dependencia del archivo de registro de v2 a v3 nunca se realizó: la solución nunca se aplicó. Quienes usaban la biblioteca vieron que se acercaba la fecha límite e instaron a que se aceptara el cambio y se fusionara con el código base. Pero fue en vano; la biblioteca no se arregló y, el 15 de febrero y las aplicaciones se rompieron.

En resumen, a partir del 15 de febrero, las apps que esperaban la versión v2, no pueden procesar el JSON de la v3 y dejaron de funcionar. El problema es la biblioteca mencionada para Android no ha sido actualizada porque la mantiene una sola persona y no ha aplicado la actualización desde septiembre de 2022. Es decir, todas las aplicaciones que confían en ella han dejado de funcionar.

Este cambio ha causado fallas de SSL/TLS en las aplicaciones de Android en los dispositivos de los usuarios finales. Google, a pesar de retrasar la eliminación de los archivos de la lista de registros en formato v2, se apresuró a deshacer los cambios.

Ante las solicitudes y otras, el equipo de transparencia de certificados de Google inició una reversión. Aún no se ha establecido una nueva fecha para la eliminación de la versión 2 de la lista de archivos de registro de CT.

Bienvenido a la cadena de suministro del software libre!

Fuente: TheRegister

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!