An issue was discovered in LibreNMS through 1.47. Several of the scripts perform dynamic script inclusion via the include() function on user supplied input without sanitizing the values by calling basename() or a similar function. An attacker can leverage this to execute PHP code from the included file. Exploitation of these scripts is made difficult by additional text being appended (typically .inc.php), which means an attacker would need to be able to control both a filename and its content on the server. However, exploitation can be achieved as demonstrated by the csv.php?report=../ substring.
Se detectó un problema en LibreNMS versiones hasta 1.47. Varios de los scripts realizan la inclusión dinámica de scripts por medio de la función include() en una entrada suministrada por el usuario sin sanear los valores mediante el llamado de la función basename() o una función similar. Un atacante puede aprovechar esto para ejecutar código PHP desde el archivo incluido. La explotación de estos scripts se hace difícil por la adición de texto adicional (típicamente .inc.php), lo que significa que un atacante necesitaría ser capaz de controlar tanto un nombre de archivo como su contenido sobre el servidor. Sin embargo, la explotación puede ser alcanzada como es demostrado por parte de la subcadena csv.php?report=../.