Aktualizace OpenSSL na verzi 1.1.1b v repozitáři openSUSE Tumbleweed k funkčnosti některých aplikací souvisejících s libopenssl a používajících ruskou nebo ukrajinskou lokalizaci. Problém se objevil po úpravě v OpenSSL v zpracovateli chybových zpráv (SYS_str_reasons). Vyrovnávací paměť byla určena na 4 kilobajty, ale to se ukázalo jako nedostačující pro některé unicode lokalizace.
Výstup strerror_r, používaný pro vyplnění vyrovnávací paměti, pro ruskou lokalizaci činí 6856 bajtů, zatímco pro ukrajinskou 7000. V kódu OpenSSL nebyla původně kontrola přetečení, ale ta při ořezání zadního konce velikost o jeden bajt větší než skutečná hodnota, což vedlo k jednopřetížení a zhroucení při načítání příliš dlouhých dekódování kódů chyb.
V současné době je již připraveno , ale ještě nebylo přijato. Aby se vrátilo zpět na předchozí stabilní verzi (OpenSSL 1.1.0h), je možné provést příkazy:
sudo zypper in tumbleweed-cli
sudo tumbleweed init
sudo tumbleweed switch 20190514
sudo zypper ref && sudo zypper dup && sudo zypper inr
Zdroj: opennet.ru
