Mime/multipart de Go Standard Library. Vulnerabilidades y errores

Errores CVE de Mime/multipart de Go Standard Library

Vulnerabilidades CVE de Mime/multipart de Go Standard Library

28 de febrero del 2023

  • CVE-2022-41725 : Una denegación de servicio es posible debido al consumo excesivo de recursos en net/http y mime/multipart. El análisis de formularios de varias partes con mime/multipart.Reader.ReadForm puede consumir cantidades ilimitadas de memoria y archivos de disco. Esto también afecta el análisis de formularios en el paquete net/http con los métodos de solicitud FormFile, FormValue, ParseMultipartForm y PostFormValue. ReadForm toma un parámetro maxMemory y está documentado como el almacenamiento de "hasta maxMemory bytes +10 MB (reservado para partes que no son archivos) en la memoria". Las partes del archivo que no se pueden almacenar en la memoria se almacenan en el disco en archivos temporales. Los 10 MB no configurables reservados para partes que no son archivos son excesivamente grandes y potencialmente pueden abrir un vector de denegación de servicio por sí solos. Sin embargo, ReadForm no tuvo en cuenta correctamente toda la memoria consumida por un formulario analizado, como la sobrecarga de entrada del mapa, los nombres de las partes, y encabezados MIME, lo que permite que un formulario creado con fines malintencionados consuma más de 10 MB. Además, ReadForm no contenía límite en la cantidad de archivos de disco creados, lo que permitía que un cuerpo de solicitud relativamente pequeño creara una gran cantidad de archivos temporales de disco. Con la corrección, ReadForm ahora tiene en cuenta correctamente varias formas de sobrecarga de memoria y ahora debería permanecer dentro de su límite documentado de 10 MB + maxMemory bytes de consumo de memoria. Los usuarios aún deben ser conscientes de que este límite es alto y aún puede ser peligroso. Además, ReadForm ahora crea como máximo un archivo temporal en disco, combinando varias partes del formulario en un solo archivo temporal. La documentación del tipo de interfaz mime/multipart.File indica: "Si se almacena en el disco, el tipo concreto subyacente del archivo será un *os.File". Este ya no es el caso cuando un formulario contiene más de una parte del archivo, debido a esta combinación de partes en un solo archivo. El comportamiento anterior de usar archivos distintos para cada parte del formulario se puede volver a habilitar con la variable de entorno GODEBUG=multipartfiles=distinct. Los usuarios deben tener en cuenta que los métodos multipart.ReadForm y http.Request que lo llaman no limitan la cantidad de disco consumido por los archivos temporales. Las personas que llaman pueden limitar el tamaño de los datos del formulario con http.MaxBytesReader.

Sitios de referencia

  • CVE-2022-41725 : https://github.com/hundanchen69/bug_report/blob/main/vendors/janobe/Online%20Reviewer%20Management%20System/SQLi-1.md

Otras paginas de vulnerabilidades CVE

¿Quieres encontrar más vulnerabilidades?.

Sin usted, esta web no existiria. Gracias por visitarme, espero que le haya gustado y vuelva. Muchas gracias ☺️

Fecha actualización el 2023-03-05. Fecha publicación el 2023-03-05. Autor: Oscar olg Mapa del sitio Fuente: cve report