Investigadores de ciberseguridad han revelado una falla de seguridad de alta gravedad en el sistema de base de datos de código abierto PostgreSQL que podría permitir a usuarios sin privilegios alterar variables de entorno y potencialmente conducir a la ejecución de código o la divulgación de información.
La vulnerabilidad, rastreada como CVE-2024-10979tiene una puntuación CVSS de 8,8.
Las variables de entorno son valores definidos por el usuario que pueden permitir que un programa obtenga dinámicamente diversos tipos de información, como claves de acceso y rutas de instalación de software, durante el tiempo de ejecución sin tener que codificarlas. En determinados sistemas operativos, se inicializan durante la fase de inicio.
“El control incorrecto de las variables de entorno en PostgreSQL PL/Perl permite a un usuario de base de datos sin privilegios cambiar variables de entorno de proceso sensibles (por ejemplo, PATH)”, dijo PostgreSQL en un aviso publicado el jueves.
“Esto a menudo es suficiente para permitir la ejecución de código arbitrario, incluso si el atacante carece de un usuario del sistema operativo del servidor de base de datos”.
La falla se solucionó en las versiones 17.1, 16.5, 15.9, 14.14, 13.17 y 12.21 de PostgreSQL. Los investigadores de Varonis, Tal Peleg y Coby Abrams, que descubrieron el problema, dijeron que podría provocar “problemas de seguridad graves” dependiendo del escenario del ataque.
Esto incluye, entre otros, la ejecución de código arbitrario mediante la modificación de variables de entorno como PATH, o la extracción de información valiosa en la máquina mediante la ejecución de consultas maliciosas.
Actualmente se retienen detalles adicionales sobre la vulnerabilidad para que los usuarios tengan tiempo suficiente para aplicar las correcciones. También se recomienda a los usuarios que restrinjan las extensiones permitidas.
“Por ejemplo, limitar las concesiones de permisos CREATE EXTENSIONS a extensiones específicas y, además, establecer el parámetro de configuración share_preload_libraries para cargar solo las extensiones requeridas, limitando la creación de funciones según el principio de privilegios mínimos al restringir el permiso CREATE FUNCTION”, dijo Varonis.