Разработчиците на анонимната мрежа Tor публикуваха резултатите от втория одит, проведен от компанията Radically Open Security от април до август 2023 година (преди това, от ноември 2022 до април 2023, първият одит беше проведен от Cure53). Проверката обхвана кода за осигуряване на функционирането на изходните възли, браузъра Tor Browser, компонентите на инфраструктурата (събиране на метрики, SWBS, API Onionoo) и инструментите за тестване. Основната цел на повторния одит беше оценката на промените, направени за повишаване на скоростта и надеждността на мрежата Tor, като добавения в версия Tor 0.4.8 протокол за разделяне на трафика Conflux и методите за защита на Onion-сервизите от DoS-атаки, базирани на доказателства за изпълнение на работа.
По време на одита бяха открити 17 уязвимости, от които само една е класифицирана като опасна. Четири от уязвимостите имат средно ниво на опасност, а 12 са на ниско ниво на опасност. Най-опасната уязвимост е открита в приложението onbasca (Onion Bandwidth Scanner), използвано за сканиране на приходите от пропускателната способност на възлите в мрежата.
Уязвимостта е провокирана от възможността за изпращане на заявки чрез HTTP метода GET, което позволява изпълнението на подмяна на междусайтови заявки от името на друг потребител (CSRF, Cross-Site Request Forgery). Това дава на атакуващия възможността да добави свои мостови възли в БД, манипулирайки с параметъра «bridge_lines». Например, атакуващият може да публикува уеб страница с JavaScript код fetch("http://127.0.0.1:8000/bridge-state/?bridge_lines=obfs4+0.0.0.000000+AAA+cert0+iat-mode0", и ако тази страница бъде отворена от потребител с активна сесия към Onion Bandwidth Scanner, то от негово име в базата ще бъде добавен IP "0.0.0.0".
Проблеми със средно ниво на опасност:
- Отказ на обслужване в metrics-lib чрез предаване на голям компресиран файл — тъй като файлът се разпакова в оперативната памет, може да се предаде подобие на zip-бомба (например, може да се опаковат 600 МБ нули в 0.0006 МБ) и да се предизвика изчерпване на наличната памет.
- Използването на външен модул tun2socks в tor-android-service (използван в Tor браузъра за Android), чиято поддръжка е прекратена.
- Запис на нулев байт извън определеното пространство в клиентa Tor поради използване на функцията read_file_to_str_until_eof, която връща размера без да отчита нулевия символ.
- Уязвимост в sbws (Simple Bandwidth Scanner), позволяваща да се върне HTTPS връзката към HTTP, използвайки пренасочване към HTTP. Контролираният от атакуващия изходен възел Tor потенциално може да използва тази уязвимост за организиране на изтичане на API токени.
Източник: opennet.ru
