The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Новый способ совершения локальной DoS-атаки в Linux"
Отправлено Аноним, 25-Ноя-10 22:06 
сдается мне что фикс кривой.
1) он пытается запускать gc во время любого send, хотя даже школьнику понятно что наименьшие проблемы это создаст при создании сокета (к слову при закрытии - gc вызывается)

2) в RHEL5 процесс убивается на ура - но в момент смерти жрет дофига CPU
bt показывает

test          R ffff8100252e8e00     0 12575  12371                     (L-TLB)
ffff8100238e79c8 0000000000000046 ffff810000000000 dead4ead00000001
ffff8100252e8e00 ffff81003ea42e40 00000078bed19204 0000014126bfada3
ffff8100252e9010 ffffffff80524f00 ffffffff80344f00 ffff8100238e7958
Call Trace:
[<ffffffff80059705>] unix_release_sock+0x203/0x211
[<ffffffff80093a42>] __cond_resched+0x2d/0x55
[<ffffffff8006a5f3>] cond_resched+0x37/0x42
[<ffffffff8000d7d7>] dput+0x2f/0x18a
[<ffffffff80013769>] __fput+0x1b2/0x1d4
[<ffffffff800596ab>] unix_release_sock+0x1a9/0x211
[<ffffffff800303b2>] fput+0x14/0x16
[<ffffffff8024c53b>] __scm_destroy+0xa8/0xe2
[<ffffffff802a7787>] unix_destruct_fds+0x39/0x4a
[<ffffffff8024922e>] skb_release_head_state+0x161/0x1b9
[<ffffffff800596ab>] unix_release_sock+0x1a9/0x211
[<ffffffff8002c143>] __kfree_skb+0x11/0x26
[<ffffffff80249db7>] kfree_skb+0x68/0x70
[<ffffffff800596ab>] unix_release_sock+0x1a9/0x211
[<ffffffff802a72ff>] unix_release+0x21/0x23
[<ffffffff8005d145>] sock_release+0x2c/0xaf
[<ffffffff8005d345>] sock_close+0x22/0x26
[<ffffffff800136a4>] __fput+0xed/0x1d4
[<ffffffff800303b2>] fput+0x14/0x16
[<ffffffff8002642f>] filp_close+0x65/0x70
[<ffffffff8003dad9>] put_files_struct+0x6b/0xb3
[<ffffffff80016bda>] do_exit+0x70f/0xdc3
[<ffffffff80018fb2>] cache_grow+0x541/0x5a4
[<ffffffff8002e413>] get_signal_to_deliver+0x4a/0x4bc
[<ffffffff8004ff95>] debug_mutex_init+0x0/0x45
[<ffffffff8002e852>] get_signal_to_deliver+0x489/0x4bc
[<ffffffff80063532>] do_notify_resume+0xd8/0x883
[<ffffffff80047cdf>] d_rehash+0x23/0x44
[<ffffffff800246f5>] fd_install+0x30/0x6d
[<ffffffff8006c53b>] trace_hardirqs_off_thunk+0x35/0x67
[<ffffffff800663af>] int_signal+0x12/0x17

то есть вся проблема не в in flight сокетах, а в том что close() не закрыл старый unix socket и не прибил что положено.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру