Баги в библиотеках для парсинга URL грозят DoS, утечками данных и RCE

Баги в библиотеках для парсинга URL грозят DoS, утечками данных и RCE

Баги в библиотеках для парсинга URL грозят DoS, утечками данных и RCE

16 популярных сторонних библиотек для парсинга URL страдают от серьёзных проблем в безопасности. Эти восемь уязвимостей, по мнению экспертов, могут затрагивать множество современных веб-приложений.

Выявленные бреши могут привести к DoS, утечкам информации и даже удалённому выполнению кода (RCE) в различных приложениях. Баги обнаружились в сторонних пакетах, которые потенциально могли импортировать в сотни или даже тысячи веб-приложений и проектов.

Например, среди затронутого софта исследователи выделили Flask (написанный на Python фреймворк), Video.js (HTML5-видеоплеер), Belledonne (бесплатная VoIP и IP-телефония), Nagios XI (софт для мониторинга сети) и Clearance (парольная аутентификация на Ruby).

URL-парсинг представляет собой процесс разбивки веб-адреса на ключевые компоненты. Это нужно для того, чтобы трафик направлялся корректно между серверами и различными ссылками. Предназначенные для этого библиотеки, как правило, импортируются в приложения, чтобы обеспечить им описанные выше возможности.

«URL обычно состоят из пяти основных компонентов: схема, путь, запрос и фрагмент. Каждый из этих компонентов выполняет свою задачу», — пишут в отчёте специалисты Claroty Team82.

 

Согласно анализу экспертов, уязвимости возникли благодаря различиям в методе каждой библиотеки. Исследователи изучили в совокупности 16 различных библиотек, среди которых можно отметить urllib (Python), urllib3 (Python), rfc3986 (Python), httptools (Python), curl lib (cURL), Wget, Chrome (Browser), Uri (.NET), URL (Java), URI (Java), parse_url (PHP), url (NodeJS), url-parse (NodeJS), net/url (Go), uri (Ruby) и URI (Perl).

В ходе анализа специалисты выявили пять категорий несоответствий в методе парсинга компонентов: Scheme Confusion, Slash Confusion, Backslash Confusion, URL Encoded Data Confusion, Scheme Mix-ups. Проблема в том, что такие несоответствия могут создать уязвимые блоки кода.

Например, «slash confusion» может привести к появлению багов класса SSRF, а их уже злоумышленник может использовать для выполнения удалённого кода. Оказалось, что разные библиотеки для парсинга URL по-разному обрабатывают ссылки с большим количеством слешей: кто-то игнорирует дополнительный слеш, кто-то передаёт URL без хоста.

В общей сложности исследователи выделили восемь потенциальных уязвимостей в сторонних веб-приложениях. Их список выглядит так:

  1. Открытый редирект Flask-security (Python, CVE-2021-23385)
  2. Открытый редирект Flask-security-too (Python, CVE-2021-32618)
  3. Открытый редирект Flask-User (Python, CVE-2021-23401)
  4. Открытый редирект Flask-unchained (Python, CVE-2021-23393)
  5. Belledonne’s SIP Stack null pointer dereference (DoS) (C, CVE-2021-33056)
  6. Межсайтовый скриптинг Video.js (XSS) (JavaScript, CVE-2021-23414)
  7. Открытый редирект Nagios XI (PHP, CVE-2021-37352)
  8. Открытый редирект Clearance (Ruby, CVE-2021-23435)

Минтруду не удалось оспорить штраф за утечку данных

Министерству труда не удалось оспорить в Верховном суде штраф за утечку персональных данных сотрудников и членов их семей. Ранее административное наказание было назначено судами нижестоящих инстанций. Основным аргументом ведомства стало то, что причиной инцидента стала халатность внешнего подрядчика.

Объём утечки оказался относительно небольшим — около 1400 записей. Однако в открытый доступ попали наиболее востребованные на теневом рынке сведения, включая номера паспортов и реквизиты банковских карт.

Мировой судья оштрафовал Минтруд на 100 тыс. рублей. Ведомство попыталось оспорить решение, настаивая, что ответственность за защиту данных лежала на подрядной организации, а значит, само министерство следует считать пострадавшей стороной. В итоге спор дошёл до Верховного суда.

Верховный суд подтвердил, что именно Минтруд является оператором персональных данных и несёт полную ответственность за их защиту, включая контроль за действиями подрядчиков. Суд указал, что ведомство не приняло необходимых мер для обеспечения безопасности инфраструктуры, а о факте утечки узнало лишь после запроса контролирующего органа. Кроме того, был нарушен установленный порядок уведомления о компьютерных инцидентах, что также образует состав административного правонарушения.

Руководитель практики защиты данных Stonebridge Legal Денис Бушнев в комментарии для радиостанции «Коммерсантъ FM» назвал решение Верховного суда логичным продолжением сложившейся правоприменительной практики и разъяснений Роскомнадзора:

«Есть оператор и есть подрядчики оператора — так называемые обработчики или лица, действующие по поручению. Переложить ответственность на таких обработчиков не получится: оператор отвечает за всё. Верховный суд фактически подвёл черту под этим вопросом. Резонанс делу придаёт то, что в нём фигурирует Минтруд. При этом размер штрафа оказался сравнительно небольшим».

«Минтруд, имея возможность провести аудит, ничего не предпринял. Если бы были представлены акты проверок, ответственность можно было бы попытаться переложить на подрядчика, но для этого необходимо выполнить ряд мер. В выигрыше оказываются юристы, которые убеждают клиентов выстраивать корректную систему работы: раньше им не хватало наглядного судебного примера. Теперь он есть — с конкретным штрафом, да ещё в отношении госструктуры. А выигрывают и те, кто заранее выстроил процессы и “подстелил соломку”», — отметила руководитель практики комплаенса юридической фирмы LCH.LEGAL Елена Шершнева.

RSS: Новости на портале Anti-Malware.ru