Enviado por admin el
Ayer me pegué un buen susto y todavía no me he recuperado totalmente. Después de la actualización de una serie de servidores CentOS 7, con instalado Asterisk PBX 16.16.0, con los últimos paquetes disponibles y el reinicio de los mismos servidores debido a una actualización del Kernel, me dí cuenta que todos los comando GotoIF, GotoIfTime y ExecIF presentes en el dialplan, dejaron de funcionar. El “error” que aparecía era algo muy raro:
GotoIf("SIP/os1-00000000", "nan?fromuri") in new stack
en lugar de:
GotoIf("SIP/os1-0000000c", "0?fromuri")
Donde 0 significa falso y 1 significa verdadero. Después de pensar un rato sobre lo que podía haber pasado, hice el típico razonamiento del diagrama de flujo:
Ayer funcionaba: Si
Que cambios se realizaron entre ayer y hoy: actualización de paquetes
Primera opción, reversar la actualización; para esto utilicé el comando:
yum history
para identificar el ID del ultimo comando yum utilizado (yum update); una vez identificado el ID he utilizado el siguiente comando:
yum history undo ID
para reversar la actualización. Terminada la operación he reiniciado el servidor y revisado si el comando GotoIF había vuelto a funcionar. Afortunadamente acerté pues apliqué el mismo proceso a todos los demás servidores. Ahora que el tema estaba resuelto, quería saber que estaba pasando con la actualización pues cogí un servidor que no se utiliza mucho y empecé a actualizar los paquetes por grupos, reiniciando el servidor después de cada actualización:
primero una actualizaciones de PHP, luego algunos firmwares, los paquetes del kernel, unas librerías Perl, unas librerías de Python, hasta llegar a glibc:
Justo después de esa actualización, las aplicaciones de Asterisk dejaron de funcionar nuevamente pues el problema era con esas librerías. En el servidor que estaba utilizando para las pruebas reversé nuevamente la actualización de glibc y en todos los demás servidores instalé todas las actualizaciones menos las relacionadas con glibc:
yum update --exclude=glibc*
Si ustedes ya han instalado la versión de glibc que contiene el BUG, pueden volver a la versión anterior con el siguiente comando:
yum downgrade glibc-devel glibc glibc-common glibc-headers
Increíble, ¿verdad?
2 comentarios
La explicación Tecnica
Enviado por admin el
The fix for CVE-2020-29573 resulted in a regression in the printf family of functions on i686 and x86_64 when printing zero in long double format.
Consequence: The printf function would print "nan" for zero on i686 and x86_64.
SOLUCIONADO
Enviado por admin el
Hola a tod@s,
ya solucionaron sacanado la versión
Release : 323.el7_9
Me comentan
Saludos