An issue was discovered in dotCMS through 3.6.1. The findChildrenByFilter() function which is called by the web accessible path /categoriesServlet performs string interpolation and direct SQL query execution. SQL quote escaping and a keyword blacklist were implemented in a new class, SQLUtil (main/java/com/dotmarketing/common/util/SQLUtil.java), as part of the remediation of CVE-2016-8902; however, these can be overcome in the case of the q and inode parameters to the /categoriesServlet path. Overcoming these controls permits a number of blind boolean SQL injection vectors in either parameter. The /categoriesServlet web path can be accessed remotely and without authentication in a default dotCMS deployment.
Se ha descubierto un problema en dotCMS hasta la versión 3.6.1. La función findChildrenByFilter() que es llamada por la ruta accesible por la web /categoriesServlet realiza la interpolación de cadenas y la ejecución directa de consulta SQL. SQL cita escape y una lista negra de palabra clave se implementaron en una nueva clase, SQLUtil (main/java/com/dotmarketing/common/util/SQLUtil.java), como parte de la remediación de CVE-2016-8902; Sin embargo, estos pueden ser superados en el caso de los parámetros q e inode a la ruta /categoriesServlet. Superando estos controles permiten un número de vectores de inyección SQL booleanos ciegos en cualquiera de los parámetros. Se puede acceder a la ruta web /categoriesServlet remotamente y sin autenticación en una implementación de dotCMS predeterminada.
dotCMS versions 3.6.1 and below suffer from a remote blind boolean SQL injection vulnerability.