Обновление OpenSSL до версии 1.1.1b в репозитории openSUSE Tumbleweed к работоспособности некоторых приложений, связанных с libopenssl и использующих русскую или украинскую локали. Проблема появилась после внесения в OpenSSL в обработчик буфера сообщений об ошибках (SYS_str_reasons). Буфер был определён в 4 килобайта, но этого оказалось недостаточно для некоторых юникод-локалей.
Вывод strerror_r, используемый для заполнения буфера, для русской локали составляет 6856 байт, а для украинской — 7000. В коде OpenSSL изначально проверка на переполнение, но она при обрезании хвоста размер на один байт больше фактического значения, что приводило к однобайтовому переполнению и краху при загрузке слишком длинных расшифровок кодов ошибок.
В настоящее время уже подготовлено , но оно ещё не принято. Чтобы откатиться до предыдущей стабильной версии (OpenSSL 1.1.0h) можно выполнить команды:
sudo zypper in tumbleweed-cli
sudo tumbleweed init
sudo tumbleweed switch 20190514
sudo zypper ref && sudo zypper dup && sudo zypper inr
Источник: opennet.ru
