it-swarm-es.com

¿Cómo abordar los problemas de seguridad de XSS en FCKeditor / CKeditor?

Un informe de seguridad que realizamos a través de una compañía externa reportó vulnerabilidades XSS en FCKeditor que estamos usando en nuestra aplicación PHP.

Señalaron que acceder a URL como:

http://www.ourdomain.com/fckeditor/editor/filemanager/browser/mcpuk/connectors
    /php/connector.php?Command=837<script>alert(0)</script>&Type=837
    <script>alert(1)</script>&CurrentFolder=837<script>alert(2)</script>
    &ExtraParams=837<br><br><br><iframe src=http://www.google.com/ 
    height=100% width=100%></iframe>

Conduce a un código como el siguiente que se genera (desde el navegador -> ver fuente):

Invalid command.Array<br />
(<br />
[Command] => 837<script>alert(0)</script><br />
[Type] => 837<script>alert(1)</script><br />
[CurrentFolder] => 837<script>alert(2)</script><br />
[ExtraParams] => 837<br>
<br>
<br>
<iframe src=http://www.google.com/ height=100% width=100%></iframe><br />
)<br />

No tengo idea de lo que hace este script php interno de FCKeditor y si podría convertirse en una fuente de contenido XSS en mi sistema. ¿Es este un problema genuino?

11
siliconpi

Por lo general, no hay mucho que pueda hacer con respecto a los componentes de terceros.
Entre sus opciones:

  • Comience actualizando a la última versión. Si eso lo soluciona, ya está.
  • Póngase en contacto con el proveedor de manera responsable y obtenga una solución de ellos.
  • Si es de código abierto, intente parchearlo usted mismo o encuentre a alguien que lo haya hecho. Solo asegúrate de hacerlo bien y arreglar XSS can puede ser complicado y/o confuso.
  • Si ninguna de las opciones anteriores es posible, considere eliminar este componente de su sistema. Siempre es un riesgo, cuando se toma a ciegas algún otro componente, si no puede repararlo ...
  • De hecho, establezca una política para realizar una revisión de seguridad en cualquier código de terceros antes integrándolo en su sistema.
  • Si DEBE continuar usando un componente vulnerable, reconsidere :). Pero realmente, si es un trato hecho, considere protegerlo con un WAF (firewall de aplicaciones web). No resuelve el problema, pero puede ayudar a prevenir la explotación ...
12
AviD

FCKEditor es un editor de texto independiente de la plataforma para aplicaciones web.

Este tipo de exploit es un vector de ataque XSS reflejado. Puede leer más sobre esto en esta pregunta aquí: can-anybody-explicar-xss .

Esto sucede porque el FCKEditor no desinfecta la entrada dada en las variables, lo que hace que la aplicación refleje las variables de vuelta al usuario.

Yo recomendaría los siguientes pasos:

  • actualización al último FCKEditor
  • Parchearlo yo mismo y si eso no soluciona el problema, lo parchearía yo mismo aplicando la desinfección adecuada al script. En su caso, parece que un elenco simple (int) sería suficiente para abordar este problema.
  • Solicitar parche de proveedor lo antes posible

También puede ver una lista de otros exploits para FCKEditor en exploit-db.com . ¡Solo recuerda seguir parcheando tus aplicaciones!

11
Chris Dale