ABB ha identificado una vulnerabilidad en las versiones de su producto que se mencionan en el aviso correspondiente. Se ha lanzado una actualización que reemplaza un componente de terceros obsoleto. Aunque durante las pruebas de los productos B&R afectados no se observaron intentos de explotación exitosa, las vulnerabilidades detectadas podrían representar vectores de ataque que podrían permitir el acceso no autorizado, la exposición de datos o la ejecución remota de código.
Las versiones afectadas de ABB B&R Automation Studio son las siguientes:
Se ha encontrado una vulnerabilidad en las versiones de SQLite anteriores a la 3.50.2, donde el número de términos agregados podría exceder el número de columnas disponibles, lo que podría resultar en un problema de corrupción de memoria. Esta vulnerabilidad, en particular, puede tener graves implicaciones para la integridad de los datos y la estabilidad del sistema, ya que podría permitir a un atacante manipular la memoria de manera que comprometa el funcionamiento del software.
En cuanto a la mitigación, se recomienda a los usuarios que consulten la sección de "Recomendaciones de seguridad generales" para obtener asesoramiento sobre cómo mantener sus sistemas seguros.
Una vulnerabilidad de desbordamiento de enteros también se ha identificado en la función concat_ws() de SQLite, que puede derivar en un desbordamiento masivo de buffer en la pila. Cuando se activa esta vulnerabilidad, el desbordamiento de enteros provoca que se utilice un valor de tamaño truncado para la asignación de buffers, mientras que se emplea el tamaño original no truncado para escribir la cadena resultante, lo que puede causar un desbordamiento de buffer de aproximadamente 4 GB. Este tipo de vulnerabilidad es extremadamente crítica porque puede ser explotada para ejecutar código arbitrario, lo que pone en riesgo la confidencialidad y la integridad de los datos.
El problema ha sido corregido en la versión 6.5 de B&R Automation Studio, y se aconseja a los clientes que apliquen la actualización a la mayor brevedad posible. El proceso para instalar las actualizaciones se detalla en el manual del usuario, que también incluye los pasos necesarios para identificar la versión del producto instalada.
Además, se ha detectado una vulnerabilidad crítica en SQLite hasta la versión 3.43.0, que afecta a la función sessionReadRecord en el archivo ext/session/sqlite3session.c, lo que puede llevar a un desbordamiento de buffer basado en la pila. Esta vulnerabilidad resalta la necesidad de revisar y actualizar regularmente los componentes de software, ya que las fallas en la gestión de memoria pueden ser explotadas para comprometer sistemas completos.
SQLite también presenta problemas en versiones anteriores a la 3.32.3, donde la optimización del "query-flattener" se maneja incorrectamente, lo que puede dar lugar a un desbordamiento de buffer en múltiples selecciones. Este tipo de vulnerabilidad es un ejemplo de cómo la lógica de optimización en consultas puede ser manipulada para afectar la seguridad del sistema, resaltando la importancia de una revisión exhaustiva del código.
Por último, existen vulnerabilidades relacionadas con la gestión de punteros nulos y la administración incorrecta de usuarios en SQLite antes de la versión 3.32.0. Estas vulnerabilidades pueden dar lugar a situaciones donde los atacantes pueden ejecutar código no autorizado o acceder a datos sensibles. Es crucial que los usuarios de B&R Automation Studio actualicen a la versión 6.5 y sigan las recomendaciones de seguridad generales para proteger sus sistemas de posibles amenazas.
### Mitigación
Para obtener recomendaciones sobre cómo mantener su sistema seguro, se debe consultar la sección "Recomendaciones generales de seguridad".
### Vulnerabilidad y Contexto Técnico
La biblioteca SQLite, en versiones hasta la 3.32.0, presenta una vulnerabilidad crítica que puede dar lugar a un fallo de segmentación (segmentation fault) en la función `sqlite3ExprCodeTarget`, ubicada en el archivo `expr.c`. Este tipo de fallo puede comprometer la estabilidad del sistema y permitir a un atacante ejecutar código malicioso.
La referencia técnica relevante para esta vulnerabilidad se encuentra en el CWE-416, que se relaciona con el uso después de la liberación de memoria (Use After Free). Explotar esta vulnerabilidad podría llevar a un atacante a provocar un comportamiento inesperado en la aplicación.
La solución a este problema ha sido implementada en la versión 6.5 de B&R Automation Studio. Se recomienda a los usuarios que apliquen esta actualización a la mayor brevedad posible. El proceso de instalación de actualizaciones está detallado en el manual del usuario, que también describe cómo identificar la versión instalada del producto.
### Vulnerabilidad Adicional
En las versiones de SQLite hasta la 3.32.0, se ha identificado un desbordamiento de enteros (integer overflow) en la función `sqlite3_str_vappendf` del archivo `printf.c`. Este tipo de vulnerabilidad está registrada bajo el CWE-476, que se refiere a la desreferencia de puntero nulo (NULL Pointer Dereference). Un atacante podría utilizar esta vulnerabilidad para manipular el sistema y provocar un mal funcionamiento, afectando así la integridad de los datos.
El mismo procedimiento de actualización es aplicable aquí, con la versión 6.5 de B&R Automation Studio corrigiendo este defecto. Nuevamente, se insta a los clientes a proceder con la actualización según las indicaciones del manual.
### Vulnerabilidad Crítica en ALTER TABLE
La implementación de la instrucción ALTER TABLE en SQLite, hasta la versión 3.31.1, presenta un caso de uso posterior a la liberación de memoria (use-after-free), que se puede evidenciar mediante una cláusula ORDER BY en una instrucción SELECT compuesta. Esta vulnerabilidad, que también se enmarca bajo el CWE-416, puede ser explotada para comprometer la seguridad del sistema.
Al igual que en los casos anteriores, la versión 6.5 de B&R Automation Studio aborda este problema y se recomienda su instalación inmediata.
### Denegación de Servicio
SQLite hasta la versión 3.31.1 permite a los atacantes provocar una denegación de servicio (DoS) mediante una consulta de función de ventana malformada. Esto ocurre debido a un manejo inadecuado de la inicialización del objeto AggInfo, lo que podría resultar en un fallo del sistema. Esta vulnerabilidad está catalogada bajo el CWE-754, que se refiere a un chequeo inadecuado de condiciones inusuales o excepcionales.
La solución a este problema se encuentra también en la actualización a la versión 6.5 de B&R Automation Studio, y se recomienda encarecidamente su aplicación.
### Manejo Inadecuado de Comandos PRAGMA
En la versión 3.30.1 de SQLite, el manejo de la cláusula NOT NULL en un comando PRAGMA de verificación de integridad se produce de manera incorrecta en ciertos casos relacionados con columnas generadas. Esta vulnerabilidad también se clasifica bajo el CWE-754. Al igual que en los casos anteriores, la actualización a la versión 6.5 de B&R Automation Studio es la solución recomendada para mitigar este riesgo.
### Recursión Incontrolada
La versión 3.30.1 de SQLite permite a los atacantes desencadenar una recursión infinita a través de ciertos tipos de vistas autorreferenciales en combinación con sentencias ALTER TABLE. Esta vulnerabilidad está documentada bajo el CWE-674, que se refiere a la recursión incontrolada, y puede ser utilizada para provocar un fallo en la aplicación, por lo que se hace imprescindible la actualización a la versión 6.5 de B&R Automation Studio.
### Lectura Fuera de Límites
Las versiones de SQLite desde la 3.6.0 hasta la 3.27.2 son susceptibles de un problema de lectura fuera de límites en la función `rtreenode()`, que se presenta al manejar tablas rtree no válidas. Este tipo de vulnerabilidad, correspondiente al CWE-125, puede ser explotada para obtener información sensible o provocar un comportamiento inesperado en la aplicación. La solución se encuentra en la mencionada versión 6.5 de B&R Automation Studio.
### Desbordamiento de Búfer en FTS3
Antes de la versión 3.25.3 de SQLite, cuando se habilita la extensión FTS3, se puede presentar un desbordamiento de enteros y un desbordamiento de búfer durante las consultas FTS3 en una operación de "fusión", que se produce tras cambios manipulados en las tablas sombra de FTS3. Esta vulnerabilidad permite a atacantes remotos ejecutar código arbitrario, lo que representa un riesgo significativo para la seguridad de los sistemas que hacen uso de SQL. La versión 6.5 de B&R Automation Studio corrige este problema y su implementación es altamente recomendada.
### Conclusión
En resumen, las diversas vulnerabilidades que afectan a las versiones de SQLite hasta la 3.32.0 requieren atención inmediata y acción correctiva a través de la actualización a la versión 6.5 de B&R Automation Studio. Las implicaciones de seguridad son significativas y podrían comprometer tanto la integridad de los datos como la disponibilidad del sistema. Por tanto, se exhorta a los usuarios a seguir las recomendaciones de seguridad generales y a aplicar las actualizaciones pertinentes.
La vulnerabilidad identificada afecta a diversas versiones del sistema de gestión de bases de datos SQLite, específicamente a las versiones anteriores a la 3.50.2. En estas versiones, se presenta un problema crítico donde el número de términos agregados puede sobrepasar la cantidad de columnas disponibles, lo cual podría derivar en un fallo de corrupción de memoria. Este tipo de fallo puede ser aprovechado por atacantes para provocar comportamientos inesperados en las aplicaciones que utilizan SQLite como backend.
El fabricante, B&R Automation, ha corregido esta problemática en la versión 6.5 de su producto B&R Automation Studio. Se recomienda encarecidamente a los usuarios que apliquen esta actualización a la mayor brevedad posible. El proceso de instalación de actualizaciones está detallado en el manual del usuario, donde también se explica cómo identificar la versión del producto que se tiene instalada.
En cuanto a las medidas de mitigación, los usuarios deben consultar la sección de "Recomendaciones generales de seguridad" para obtener consejos sobre cómo proteger su sistema de potenciales amenazas. Es fundamental tener en cuenta que, para evitar ser víctima de ataques cibernéticos, es necesario mantener siempre el software actualizado y seguir las mejores prácticas de seguridad.
Una de las vulnerabilidades más preocupantes se relaciona con la validación inadecuada de entradas (CWE-20). Este tipo de fallo se presenta en versiones de SQLite anteriores a la 3.8.9, que se emplean en dispositivos Android antes de la versión 5.1.1 LMY48T. Los atacantes pueden aprovecharse de esta debilidad mediante la creación de aplicaciones específicamente diseñadas para obtener privilegios indebidos, lo que se conoce como el bug interno 20099586.
Además, múltiples vulnerabilidades no especificadas en SQLite antes de la versión 3.8.10.2, que se utilizaban en Apple iOS antes de la versión 9, presentan vectores de ataque desconocidos y pueden tener un impacto significativo. Estas vulnerabilidades exponen información sensible a actores no autorizados (CWE-200), lo que subraya la importancia de realizar actualizaciones regulares y de implementar controles de acceso robustos.
Por otro lado, se han detectado múltiples desbordamientos de búfer en la funcionalidad printf de SQLite, que se utilizaban en versiones de Apple iOS anteriores a la 8.4 y en OS X anteriores a la 10.10.4. Estos desbordamientos permiten a atacantes remotos ejecutar código arbitrario o provocar denegaciones de servicio (fallos en las aplicaciones) a través de vectores no especificados. Para mitigar estos riesgos, B&R Automation también ha proporcionado actualizaciones que corrigen estas vulnerabilidades en la misma versión 6.5 de su software.
Finalmente, la función sqlite3VXPrintf, presente en printf.c en versiones de SQLite anteriores a la 3.8.9, no maneja correctamente los valores de precisión y ancho durante las conversiones de punto flotante. Esto permite que atacantes con contexto específico provoquen una denegación de servicio (desbordamiento de entero y desbordamiento de búfer basado en la pila) o, potencialmente, otros impactos no especificados mediante la utilización de enteros grandes en llamadas a funciones printf dentro de una sentencia SELECT.
En resumen, es crucial que los usuarios de SQLite y de los productos que dependen de esta tecnología se mantengan informados sobre las actualizaciones y vulnerabilidades, ya que su explotación puede tener consecuencias graves tanto en la integridad de los datos como en la disponibilidad de los sistemas.
La solución a la vulnerabilidad ha sido implementada en las siguientes versiones del producto: B&R Automation Studio 6.5. B&R recomienda encarecidamente a sus clientes que apliquen la actualización a la mayor brevedad posible. El proceso para instalar estas actualizaciones está detallado en el manual del usuario, donde también se explica cómo identificar la versión del producto actualmente instalado.
En cuanto a las medidas de mitigación, se sugiere a los usuarios que consulten la sección titulada “Recomendaciones generales de seguridad” para obtener asesoramiento sobre cómo mantener sus sistemas seguros. Es esencial destacar que esta vulnerabilidad está relacionada con el CWE-190, que se refiere al desbordamiento o envoltura de enteros, una condición que puede permitir a un atacante provocar comportamientos indeseados en el sistema.
Es importante tener en cuenta que la información contenida en este documento está sujeta a cambios sin previo aviso y no debe interpretarse como un compromiso por parte de B&R. La compañía no ofrece ninguna garantía, explícita o implícita, incluyendo las garantías de comerciabilidad y idoneidad para un propósito particular, en relación con la información presentada en este documento. Asimismo, B&R no asume responsabilidad alguna por errores que puedan aparecer en el mismo. En ningún caso, B&R o cualquiera de sus proveedores será responsable de daños, ya sean directos, indirectos, especiales, incidentales o consecuenciales, que surjan del uso de este documento o de cualquier hardware o software descrito en él, incluso si se ha advertido a B&R o a sus proveedores sobre la posibilidad de tales daños. Este documento y sus partes no pueden ser reproducidos ni copiados sin el permiso por escrito de B&R, y su contenido no debe ser compartido con terceros ni utilizado para fines no autorizados. Todos los derechos de registro y marcas pertenecen a sus respectivos propietarios.
Este producto se ofrece bajo la Notificación correspondiente (https://www.cisa.gov/notification) y la política de Privacidad y Uso (https://www.cisa.gov/privacy-policy).
El CISA (Agencia de Seguridad de Infraestructura y Ciberseguridad de EE. UU.) recomienda a los usuarios que adopten medidas defensivas para minimizar el riesgo de explotación de esta vulnerabilidad. Se aconseja reducir la exposición de la red para todos los dispositivos y sistemas de control, asegurándose de que no sean accesibles desde Internet. Asimismo, es recomendable ubicar las redes de control y los dispositivos remotos detrás de cortafuegos, aislándolos de las redes empresariales.
Cuando se requiera acceso remoto, es preferible utilizar métodos más seguros, como las Redes Privadas Virtuales (VPN), teniendo en cuenta que las VPN pueden presentar vulnerabilidades y deben actualizarse a la versión más reciente disponible. Es fundamental recordar que una VPN es tan segura como los dispositivos conectados a ella.
El CISA recuerda a las organizaciones la importancia de realizar un análisis adecuado del impacto y una evaluación de riesgos antes de implementar medidas defensivas. Además, ofrece en su página web dedicada a sistemas de control una sección con prácticas recomendadas para la seguridad. Existen varios productos de CISA que detallan las mejores prácticas en defensa cibernética disponibles para lectura y descarga, incluyendo "Mejorando la Ciberseguridad de los Sistemas de Control Industrial con Estrategias de Defensa en Profundidad".
El CISA alienta a las organizaciones a implementar las estrategias de ciberseguridad recomendadas para una defensa proactiva de los activos de sistemas de control industrial. También se pueden encontrar orientaciones adicionales sobre mitigación y prácticas recomendadas de forma pública en su página web, específicamente en el documento técnico ICS-TIP-12-146-01B, que trata sobre estrategias de detección y mitigación de intrusiones cibernéticas dirigidas.
Las organizaciones que observen actividades sospechosas deben seguir los procedimientos internos establecidos y reportar sus hallazgos al CISA para su seguimiento y correlación con otros incidentes.
Este Anuncio de Seguridad de Ciberseguridad Industrial (ICSA) es una republicación exacta del aviso ABB PSIRT SA25P007, derivado de una conversión directa del Marco de Aviso de Seguridad Común (CSAF) del proveedor. Se ha republicado en el sitio web del CISA como un medio para incrementar la visibilidad y se proporciona "tal como está" únicamente con fines informativos. El CISA no se hace responsable de la precisión editorial o técnica de los avisos republicados y no ofrece garantías de ningún tipo respecto a la información contenida en este aviso. Adicionalmente, el CISA no respalda ningún producto o servicio comercial. Para cualquier consulta relacionada con este aviso, se debe contactar directamente a ABB PSIRT.