Laravel 4 CSRF güvenlik açığı

Laravel bloğunda gördüğümüz üzere, 7 Kasım 2014 günü bir güvenlik uzmanı laravel CSRF korumasını aşmayı başardığı hakkında laravel ekibini uyarmış. Laravel ile birlikte CSRF filtresi kullanılıyorsa filtre kodlarında değişiklik yapılması öneriliyor.

Yazılımınızı yamamak için app/filters.php içindeki CSRF ile ilgili kodları şu şekilde değiştirmek gerekmektedir.

Route::filter('csrf', function()
{
    if (Session::token() !== Input::get('_token'))
    {
        throw new Illuminate\Session\TokenMismatchException;
    }
});

İlk başta değişiklik yok gibi gelsede if karşılaştırmasındaki “!=” kısım “!==” ile değiştirilmiş. Bu değişiklik ile özel olarak hazırlanmış json sorgularının csrf filtresini aşamayacağı yazılmış.

Laravel 4.2.11 sürümü bu yama ile birlikte gelmekte, ondan önceki sürümlerde bu değişikliği yapmamız gerekmektedir, örneğin 4.2.0, 4.1.x sürümlerinde.

Github sayfasında yamanın yapıldığı commit sayfası tartışmalarına göre bu değişikliğe rağmen açık tam olarak giderilmemiş. Konuyla ilgili bir takım zamana bağlı filtre kullanılabileceği yazılmış. İlerleyen zamanlarda aynı açık ile ilgili farklı değişliklikler olabilir.

Bir Cevap Yazın