An issue was discovered in LibreNMS through 1.47. The scripts that handle the graphing options (html/includes/graphs/common.inc.php and html/includes/graphs/graphs.inc.php) do not sufficiently validate or encode several fields of user supplied input. Some parameters are filtered with mysqli_real_escape_string, which is only useful for preventing SQL injection attacks; other parameters are unfiltered. This allows an attacker to inject RRDtool syntax with newline characters via the html/graph.php script. RRDtool syntax is quite versatile and an attacker could leverage this to perform a number of attacks, including disclosing directory structure and filenames, file content, denial of service, or writing arbitrary files.
Se detectó un problema en LibreNMS versiones hasta 1.47. Los scripts que manejan las opciones de graficación (archivos html/includes/graphs/common.inc.php y html/includes/graphs/graphs.inc.php) no comprueban ni codifican suficientemente varios campos de entrada suministrada por el usuario. Algunos parámetros son filtrados con la función mysqli_real_escape_string, que solo es útil para impedir ataques de inyección SQL; Otros parámetros no son filtrados. Esto permite a un atacante inyectar la sintaxis RRDtool con caracteres newline por medio del script html/graph.php. La sintaxis de RRDtool es sumamente versátil y un atacante podría aprovechar esto para realizar una serie de ataques, incluyendo la divulgación de la estructura del directorio y los nombres de archivo, el contenido del archivo, la denegación de servicio o la escritura de archivos arbitrarios.