Lenovo e Intel se niegan a resolver una vulnerabilidad de 2019 en equipos que se encuentran sin soporte
Los investigadores de Binarly Research dieron a conocer recientemente, la detección de una vulnerabilidad antigua en Lighttpd que está presente en dispositivos como los BMC de AMI, incluyendo productos de Lenovo e Intel. Se menciona que esta vulnerabilidad permite a un atacante no autenticado leer de manera remota el contenido de la memoria del proceso que respalda la interfaz web.
La vulnerabilidad ha estado presente en el firmware desde el año 2019 y se origina en el uso de una versión desactualizada del servidor HTTP Lighttpd, que contiene una vulnerabilidad sin corregir y que su presencia de momento afecta a plataformas de servidores de Lenovo e Intel.
Sobre la vulnerabilidad
Se menciona que la gravedad de la vulnerabilidad radica en que esta permite la lectura de memoria fuera del búfer asignado, originada por un error en el código de combinación de encabezados HTTP al especificar múltiples instancias del encabezado «If-Modified-Since».
Al procesar la segunda instancia del encabezado, Lighttpd asignaba un nuevo búfer para contener el valor combinado y liberaba el búfer que contenía el valor del primer encabezado. Sin embargo, el puntero con->request.http_if_modified_since no se actualizaba y seguía apuntando al área de memoria ya liberada.
La situación se agrava debido a que este puntero se empleaba en operaciones que comparaban el contenido del encabezado If-Modified-Since, y el resultado de estas comparaciones influía en la generación de distintos códigos de retorno. Por lo tanto, un atacante podía, mediante fuerza bruta, inferir el nuevo contenido de la memoria que antes ocupaba el primer búfer. Esta vulnerabilidad puede combinarse con otras para, por ejemplo, determinar el diseño de la memoria y eludir mecanismos de seguridad como ASLR (Aleatorización del Espacio de Direcciones).
La corrección para esta vulnerabilidad se implementó en el código base de Lighttpd en 2018, específicamente en la versión 1.4.51. Sin embargo, esta corrección no recibió un identificador CVE y no se publicó un informe detallando la naturaleza de la vulnerabilidad. La nota de la versión mencionaba correcciones de seguridad, pero se centraba en una vulnerabilidad en mod_userdir relacionada con el uso de caracteres como «..» y «.» en el nombre de usuario.
El equipo de Binarly REsearch dirigió la divulgación coordinada de esta vulnerabilidad a los PSIRT de Intel y Lenovo. Ambos se negaron a arreglar o reconocer el informe de vulnerabilidad porque los productos asociados recientemente alcanzaron el estado de fin de vida y ya no recibirán correcciones de seguridad.
Llamamos a esto los errores para siempre que perseguirán la cadena de suministro de software durante mucho tiempo. Decidimos documentar esta falla de seguridad de la cadena de suministro de software para ayudar al ecosistema a recuperarse de estos fallas de seguridad de firmware repetibles.
Aunque la lista de cambios también señalaba un problema en el procesamiento de encabezados HTTP, los desarrolladores del firmware no incluyeron esta corrección en el producto. Ademas las empresas han mencionado que no tienen planes de lanzar actualizaciones de firmware debido a que los productos que utilizan estos firmwares han alcanzado el final de su período de soporte, además de considerar que la gravedad de la vulnerabilidad es baja.
Las plataformas que actualmente son afectadas por la vulnerabilidad son: Intel M70KLP y Lenovo HX3710, HX3710-F y HX2710-E (la vulnerabilidad está presente, entre otras cosas, en las últimas versiones de firmware Lenovo 2.88.58 e Intel 01.04.0030). Además, se informa que la vulnerabilidad en Lighttpd también afecta al firmware de equipos Supermicro, así como a servidores que emplean controladores BMC de Duluth y ATEN.
Además de la vulnerabilidad en Lighttpd, el informe menciona otras vulnerabilidades críticas, como la Heap Out-of-bounds read (CWE-125) en el módulo Lighttpd utilizado en dispositivos Intel, así como vulnerabilidades en el Intel M70KLP BMC firmware y servidores Lenovo HX3710, HX3710-F y HX2710-E BMC firmware.
Finalmente, cabe mencionar que en el informe Binarly Research destaca la necesidad de una divulgación responsable de las vulnerabilidades detectadas, así como la colaboración con fabricantes y partes relevantes (como Intel y Lenovo), para mitigar riesgos, ya que la presencia de «bugs eternos» en dispositivos que están llegando al fin de su ciclo de vida no es algo nuevo y es necesario ofrecer a los usuarios la capacidad de poder implementar parches o soluciones por su cuenta, esto claro cuando el fabricante indique que ha finalizado por su parte el soporte.
Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.