Помилка в OpenSSL порушила роботу деяких програм openSUSE Tumbleweed після оновлення

Оновлення 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

Додати коментар або відгук