Gravatar de Armonth

Y más fallos (XSRF, XSS) para WordPress

No si estamos que no paramos… ha salido a la palestra un nuevo ticket, el 3973 anunciando vulnerabilidades XSRF y XSS en todas las ramas de WordPress…

La solución es aplicar el parche que ofrece pero dado que la mayoría no saber usar parches diff (o le dan problemas, o directamente ni saben de qué le hablo) la solución pasa por sustituir estos cuatro ficheros:

  • wp-comments-post.php
  • wp-includes/comment-functions.php
  • wp-includes/default-filters.php
  • wp-includes/functions.php

Por sus equivalentes parcheados, para ello vamos a la dirección que corresponda (según la rama utilizada) de las dos de aquí abajo:

Elegis cada fichero, por ejemplo branches/2.0/wp-comments-post.php y os saldrá el código en web, abajo del todo pulsáis en “Download in other formats: Original Format” y ya os baja el fichero parcheado y listo para sustituir, repetimos con los otros tres que faltan y ya está parcheado…

PD: También han salido las RC1 de WordPress 2.0.10 y 2.1.3 que corrigen ambos fallos y — en el caso de WordPress 2.1.3 — un problema de incompatibilidad con PHP 4 (resumiendo: han escrito una línea de código con una sintaxis que sólo entiende PHP 5 y hace que PHP 4 reviente).

6 Comentarios (feed)

  1. Gravatar de alex alex nos comenta:

    Me parece que las RC1 que mencionas, todavía traen la versión vulnerable a XSS de akismet.

    Por otro lado, existe otro bug (XSS) más que hace uso de $_SERVER[’PHP_SELF’], el cuál es bastante peligroso por las cosas que se pueden hacer con este.

    Jueves, 15 de Marzo/2007 @ 14:09

  2. Gravatar de Agamum Agamum nos comenta:

    Nunca he logrado entender que sentido tiene mantener dos líneas de desarrollo paralelas…

    Es decir, seguir con la 2.0.x estando ya con la 2.1.x…

    Se supone que si es el mismo proyecto, usar una versión inferior (2.0.x) es una mala idea, pero se sigue desarrollando… ¿?

    No le veo sentido (es como lo de seguir con Firefox 1.5.x después de sacar la 2.x…).

    Jueves, 15 de Marzo/2007 @ 15:44

  3. Gravatar de Armonth Armonth nos comenta:

    Alex ¿enlace al ticket correspondiente?, gracias ;)

    Agamum pues para los que no quieren/pueden migrar a la nueva versión… la nueva versión no está tan depurada como la antigua, requiere una versión más nueva de MySQL que no todos los hostings usan, tiene características que no tienen porque interesarte (en mi caso: el autosaving)…

    Los proyectos serios suelen tener varias ramas (Apache 1.3 y 2.0, Mysql 4.x y 5.x, etcétera) para seguir dando soporte a las ramas antiguas…

    Por dar un ejemplo más claro: ya ha salido Windows Vista pero el soporte para Windows XP durará un tiempo aún…

    Jueves, 15 de Marzo/2007 @ 21:35

  4. Gravatar de alex alex nos comenta:

    Armonth, me temo que todavía no hay un ticket, hoy recién acabo de enviar a security@worpress.org el exploit que aprovecha esa vulnerabilidad :) -al parecer el primer reporte hecho por otra persona, no le daba la importancia debida.

    Pero como comento en mi blog, una solución temporal es poner la siguiente línea luego de la última referencia a PHP_SELF que encuentres en wp-settings.php (línea 49 en 2.1.2).

    $PHP_SELF = $_SERVER[’PHP_SELF’] = htmlspecialchars(strip_tags($_SERVER[’PHP_SELF’]), ENT_QUOTES);

    Jueves, 15 de Marzo/2007 @ 21:56

  5. Gravatar de InKiLiNo InKiLiNo nos comenta:

    Bueno pues de momento actualizare a la 2.1.3 y menos mal que me puse PHP5 ;)

    PD: Dejo huella de que he leído.

    Jueves, 15 de Marzo/2007 @ 23:13

  6. Gravatar de alex alex nos comenta:

    Aquí está la lista de cambios:
    http://trac.wordpress.org/changeset/5044 (el más importante)
    http://trac.wordpress.org/changeset/5046 (2.1)
    http://trac.wordpress.org/changeset/5047 (2.0)

    Personalmente creo que estas correcciones no cortan el problema de raíz, sólo resuelven problemas particulares que reporté.

    Viernes, 16 de Marzo/2007 @ 14:24

No seas tímido, da tu opinión

Sé respetuoso con los demás, la diferencia de opiniones enriquece la discusión, los comentarios bajo ciertas circunstancias pueden ser moderados y requerir aprobación.