Vulnerabilidad en el envío de un encabezado Content Type en Micronaut (CVE-2022-21700)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-400
Consumo de recursos no controlado (Agotamiento de recursos)
Fecha de publicación:
18/01/2022
Última modificación:
26/01/2022
Descripción
Micronaut es un marco de trabajo Java de pila completa basado en JVM diseñado para construir aplicaciones web JVM con soporte para Java, Kotlin y el lenguaje Groovy. En las versiones afectadas, el envío de un encabezado Content Type no válida conlleva a una pérdida de memoria en DefaultArgumentConversionContext, ya que este tipo es usada erróneamente en el estado estático. ### Impacto El envío de un encabezado Content Type no válida conlleva a una pérdida de memoria en "DefaultArgumentConversionContext" ya que este tipo es usado erróneamente en estado estático. ### Parches El problema está parcheado en Micronaut versiones 3.2.7 y posteriores. ### Medidas de mitigación El aglutinante de tipo de contenido por defecto puede ser reemplazado en una aplicación Micronaut existente para mitigar el problema: """java package example; import java.util.List; import io.micronaut.context.annotation.Replaces; import io.micronaut.core.convert.ConversionService; import io.micronaut.http.MediaType; import io.micronaut.http.bind.DefaultRequestBinderRegistry; import io. micronaut.http.bind.binders.RequestArgumentBinder; import jakarta.inject.Singleton; @Singleton @Replaces(DefaultRequestBinderRegistry.class) class FixedRequestBinderRegistry extends DefaultRequestBinderRegistry { public FixedRequestBinderRegistry(ConversionService conversionService, List(RequestArgumentBinder) binders) { super(conversionService, binders); } @Override protected void registerDefaultConverters(ConversionService(?) conversionService) { super.registerDefaultConverters(conversionService); conversionService.addConverter(CharSequence.class, MediaType.class, charSequence -) { try { return MediaType.of(charSequence); } catch (IllegalArgumentException e) { return null; } }); } } ``` ### Referencias Compromiso que introdujo la vulnerabilidad https://github.com/micronaut-projects/micronaut-core/commit/b8ec32c311689667c69ae7d9f9c3b3a8abc96fe3 ### Para más información Si presenta alguna pregunta o comentario sobre este aviso: * Abra una incidencia en [Micronaut Core](https://github.com/micronaut-projects/micronaut-core/issues) * Envíenos un correo electrónico a [info@micronaut.io](mailto:info@micronaut.io)
Impacto
Puntuación base 3.x
5.30
Gravedad 3.x
MEDIA
Puntuación base 2.0
5.00
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:objectcomputing:micronaut:*:*:*:*:*:*:*:* | 3.2.7 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página