Joomla CKForms komponens sérülékenységek

CH azonosító

CH-3262

Angol cím

Joomla CKForms Component Multiple Vulnerabilities

Felfedezés dátuma

2010.06.29.

Súlyosság

Magas

Érintett rendszerek

CKForms component
Joomla

Érintett verziók

Joomla CKForms component 1.x

Összefoglaló

Több sérülékenységet találtak a Joomla CKForms komponensében, amelyeket kihasználva a támadók SQL befecskendezéses támadást indíthatnak, valamint feltörhetik a sérülékeny rendszert.

Leírás

  1. Az index.php-ben lévő “articleid” változónak átadott adatok (amikor az “option” “com_ckforms”-ra, a “task” “send”-re, az “id” érvényes form id-re van állítva) nem megfelelően vannak megtisztítva, mielőtt SQL lekérdezésben felhasználásra kerülnek. Ezt kihasználva, manipulálni lehet az SQL lekérdezést. A hiba sikeres kihasználásához szükséges, hogy a “Save result” engedélyezve legyen az űrlap konfigurációjában (alapértelmezés szerint nem az).
  2. Az index.php-ben lévő “sortd” változónak átadott adatok (amikor az “option” “com_ckforms”-ra, a “view” “ckformsdata”-ra, a “layout” “data”-ra, az “id” “f”-re van állítva) nem megfelelően vannak megtisztítva, mielőtt SQL lekérdezésben felhasználásra kerülnek. Ezt kihasználva, manipulálni lehet az SQL lekérdezést.
  3. A models/ckforms.php fájlban lévő “CkformsModelCkforms::saveData()” eljárás lehetőséget ad arra, hogy tetszőleges kiterjesztésű állományokat lehessen feltölteni a web root-ba. Ezt kihasználva, tetszőleges PHP kódot lehet lefuttatni egy PHP fájl feltöltése után. A hiba sikeres kihasználásához szükséges, hogy a “fileupload” mező konfigurálva legyen. MEGJEGYZÉS: a tárolt fájlnév az eredeti fájlnévből és time stamp-ből következik, ami megjósolható.

A sérülékenységeket az 1.3.4 verzióban találták, de egyéb kiadások is érintve lehetnek.

Megoldás

Frissítsen a legújabb verzióra és módosítsa az “Uploaded files path” beállítást, hogy egy web root-on kívüli könyvtárra mutasson!