El 28 de octubre fueron reportadas dos vulnerabilidades de carácter crítco que afectan a Apache Commons_text, con el identificador CVE-2022-42889, y a Apache commons_configuration, con el identificador CVE-2022-33980.
Varios fabricantes han reportado el impacto de estos fallos de seguridad sobre sus productos como Fortinet, SonicWall o netAPP.
Se desconoce si las vulnerabilidades están siendo activamente explotadas o si hay un exploit desarrollado, a día de hoy.
Recursos afectados
- Versión 1.5 hasta la 1.9 de Apache Commons Text
- Versión 2.4 hasta la 2.7 de Apache commons_configuration,
Análisis técnico
La vulnerabilidad identificada como CVE-2022-42889 se afecta a Apache Commons Text, librería que realiza la interpolación de variables, lo que permite que las propiedades se evalúen y amplíen dinámicamente. El formato estándar para la interpolación es "${prefijo:nombre}", donde "prefijo" se usa para ubicar una instancia de org.apache.commons.text.lookup.StringLookup que realiza la interpolación. Comenzando con la versión 1.5 y continuando hasta la 1.9, el conjunto de instancias de búsqueda predeterminadas incluía interpoladores que podían dar como resultado la ejecución de código arbitrario o el contacto con servidores remotos. Estas búsquedas son: - "script": ejecuta expresiones utilizando el motor de ejecución de scripts de JVM (javax.script) - "dns": resuelve registros dns - "url": carga valores desde URL, incluso desde servidores remotos Aplicaciones que utilizan los valores predeterminados de interpolación en las versiones afectadas pueden ser vulnerables a la ejecución remota de código o al contacto involuntario con servidores remotos si se utilizan valores de configuración que no son de confianza.
La métrica de evaluación de la vulnerabilidad es la siguiente:
CVSS Base:9.8. Crítica
CWE-94: Improper Control of Generation of Code ('Code Injection')
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Vector de ataque: Red
- Complejidad del ataque: Baja
- Privilegios requeridos: Ningunos
- Interacción con el usuario: Ninguna ▪ Alcance: Sin cambios
- Confidencialidad: Alta
- Integridad: Alta
- Disponibilidad: Alta
En cuanto a la CVE-2022-33980, afecta a la configuración de Apache Commons que realiza una interpolación de variables, lo que permite que las propiedades se evalúen y amplíen dinámicamente. El formato estándar para la interpolación es "${prefix:name}", donde "prefix" se usa para ubicar una instancia de org.apache.commons.configuration2.interpol.Lookup que realiza la interpolación. Comenzando con la versión 2.4 y continuando hasta la 2.7, el conjunto de instancias de búsqueda predeterminadas incluía interpoladores que podían generar la ejecución de código arbitrario o el contacto con servidores remotos. Estas búsquedas son: - "script": ejecuta expresiones utilizando el motor de ejecución de scripts de JVM (javax.script) - "dns": resuelve registros dns - "url": carga valores desde URL, incluso desde servidores remotos Aplicaciones que utilizan los valores predeterminados de interpolación en las versiones afectadas pueden ser vulnerables a la ejecución remota de código o al contacto involuntario con servidores remotos si se utilizan valores de configuración que no son de confianza.
La métrica de evaluación de la vulnerabilidad es la siguiente:
CVSS Base:9.8. Crítica
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Vector de ataque: Red
- Complejidad del ataque: Baja
- Privilegios requeridos: Ningunos
- Interacción con el usuario: Ninguna
- Alcance: Sin cambios
- Confidencialidad: Alta
- Integridad: Alta
- Disponibilidad: Alta
Solución
Para la mitigación de esta vulnerabilidad, desde el BCSC se recomienda tener siempre los sistemas y aplicaciones actualizadas a la última versión disponible en cuanto se publiquen las actualizaciones correspondientes.
- Para la solución al fallo CVE-2022-42889 se recomienda a los usuarios que actualicen a Apache Commons Text 1.10.0, ya que desactiva los interpoladores problemáticos de forma predeterminada.
- En cuanto a la CVE-2022-33980 se recomienda a los usuarios que actualicen a Apache Commons Configuration 2.8.0, que desactiva los interpoladores problemáticos de forma predeterminada.
