CVE-2017-5344
KrytyczneStreszczenie
W dotCMS w wersji do 3.6.1 zidentyfikowano problem związany z funkcją findChildrenByFilter(), która wykonuje interpolację ciągów i bezpośrednie zapytania SQL. Mimo wprowadzenia mechanizmów zabezpieczających, takich jak ucieczka znaków SQL i czarna lista słów kluczowych, można je obejść w przypadku parametrów q i inode, co prowadzi do możliwości wykorzystania ataków SQL injection.
Ocena ryzyka
Atakujący może zdalnie uzyskać dostęp do punktu końcowego /categoriesServlet bez uwierzytelnienia, co stwarza poważne ryzyko dla bezpieczeństwa danych w systemie.
Rekomendacja
Zaleca się aktualizację dotCMS do najnowszej wersji, aby usunąć tę podatność oraz wdrożenie dodatkowych mechanizmów zabezpieczających, takich jak ograniczenie dostępu do /categoriesServlet.
Oryginalny opis (angielski, źródło NVD)
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.

