Memcached 1.5.2_1 возможно подвержен атаке переполнения...

Mar 19, 2018 03:05

Есть подозрение, что свежайший (ну по крайней мере для FreeBSD и CentOS) memcached имеет memory-leak/buffer overflow баг, приводящий при некоем значении поступившего ему на вход url с буквами нац алфавитов (сорри, не нашёл точно в логах какой строкой это случилось) к выжиранию 2^32 байт памяти одной порцией (то есть вот так прямо +4 гигабайта в top ему прибавляется сей же секунд), причём ПРЕОДОЛЕВАЯ стоящее при запуске ему ограничение (там у меня было 1 гиг выделено). Всё это в достаточно типовом построении "nginx берёт из мемкешеда то, что туда положил php код вордпресса, битрикса или какой другой CMS"

От операционки вроде не зависит - в CentOs и FreeBSD эффект наблюдался примерно одинаково.

Это у меня два разных сервера стали недавно систематически падать и-или подвисать. Исследование показало, что, добавив им по 40 гигабайт свопа на тормознутом бекапном винте, я смог пронаблюдать "плавный" процесс "отжирания 4гиг мемкешедом" до того, как система впала в ошибку "не могу выделить свап спейс, пошли прибьём тут кого-нибудь..."

Особенная красота ситуации на одном из серверов заключалась в том, что кеширование объектов в WordPress "вдруг" переставало работать для подавляющего большинства страниц сайта, что приводило к возрастанию числа SQL запросов к базе с 10 до 740 и с 28 до 3000 и ещё более, в результате всё подыхало прямо на глазах. Пример честно закешированной как html файл такой страницы - вот тут. видно 747 запросов к MySQL 8-)

Сил раскопать самому этот кусок кода вот прям щас нету. :(

Оригинал этого поста в Dream Width. Если вы там есть - отвечайте там, уже комментариев:

linux, ошибки, софт, техника, хостинг

Previous post Next post
Up