Нова уязвимост в TLS обработката позволява на неавтентифицирани нападатели да изтощят паметта на сървъра
Уязвимост, наречена HollowByte, позволява изпълнението на DoS атака срещу OpenSSL сървъри чрез злонамерен пакет с размер само 11 байта.
Изследователи от екипа Okta Red Team разкриха механизъм, който може да доведе до значително изчерпване на паметта и в крайна сметка до отказ на услугата. Проблемът е свързан с начина, по който уязвимите версии на OpenSSL обработват TLS handshake съобщенията.
Малък пакет, голяма заявка за памет
В началото на всяко TLS handshake съобщение се съдържа заглавна част с информация за размера на следващите данни. При засегнатите версии OpenSSL може да се довери на заявения размер и да задели съответното количество памет преди реалното получаване и проверяване на съдържанието.
Това позволява на неавтентифициран нападател да установи TLS връзка и да изпрати само 11 байта, като в заглавката посочи, че следва огромно съобщение. Сървърът заделя памет и изчаква данни, които никога няма да пристигнат.
При многократно повтаряне на атаката се натрупват множество заявки и се създава сериозен натиск върху паметта. Допълнителен проблем е начинът, по който glibc управлява освободената памет – малките и средните блокове не винаги се връщат незабавно към операционната система. В резултат атакуващият може да предизвика фрагментация на heap паметта и постоянно увеличаване на използвания ресурс.
Засегнат е огромен екосистемен слой
Рискът е значителен, тъй като OpenSSL се използва от широко разпространени сървъри като NGINX и Apache, програмни среди, бази данни и практически всички основни Linux дистрибуции.
Okta е установила, че при по-слаби системи паметта може да бъде изчерпана сравнително бързо, докато по-мощни сървъри могат да загубят до 25% от паметта си при трафик под обичайните прагове за сигурност.
Проблемът е коригиран в OpenSSL 4.0.1 и по-старите версии 3.6.3, 3.5.7, 3.4.6 и 3.0.21. Организациите трябва незабавно да актуализират OpenSSL пакетите си.









