15-летний Python-баг позволяет выполнить код и затрагивает 350 000 проектов

15-летний Python-баг позволяет выполнить код и затрагивает 350 000 проектов

15-летний Python-баг позволяет выполнить код и затрагивает 350 000 проектов

Уязвимость Python-модуля tarfile за 15 лет никто так и не пропатчил. А меж тем она затрагивает более 350 тысяч репозиториев с открытым исходным кодом и позволяет выполнить произвольный код.

Впервые о проблеме стало известно в 2007 году, ей присвоили идентификатор CVE-2007-4559. Интересно, что никто не стал устранять брешь, единственное — разработчиков просто предупредили о риске.

Брешь затрагивает код, использующий функцию tarfile.extract(). Это классический баг обхода пути (path traversal), позволяющий условному атакующему перезаписывать произвольные файлы.

Удивительно, что за все 15 лет не было сообщений об эксплуатации уязвимости, учитывая, что технические детали были доступны в отчете 2007 года. Тем не менее баг представляет опасность для цепочек поставки софта по моей день.

На оставшуюся дыру обратили внимание специалисты компании Trellix, описывающие ее следующим образом:

«Уязвимость существует из-за того, что код в функции extract в Python-модуле tarfile доверяет информации в объекте TarInfo».

Сообщение на площадке баг-трекера Python гласит, что вопрос был закрыт, поскольку документацию обновили, добавив приписку, что «распаковывать архивы из непроверенных источников может быть опасно».

Проанализировав масштаб проблемы, специалисты Trellix пришли к выводу, что уязвимость затрагивает более 350 тысяч проектов. В отчете исследователей описываются простые шаги, которых достаточно для эксплуатации CVE-2007-4559 в Windows-версии Spyder IDE.

Android 17 научится скрывать содержимое уведомлений от лишних глаз

Google постепенно готовит релиз Android 17, а вместе с ним — одну из самых ожидаемых функций последних лет: нативному App Lock, то есть встроенной блокировке приложений без костылей от производителей и сторонних утилит. Как именно она будет работать, в общих чертах уже понятно, но до недавнего времени оставался важный вопрос — что будет с уведомлениями от заблокированных приложений.

Ответ нашёлся в свежей сборке Android Canary 2601. В коде системы обнаружили новые строки, которые прямо намекают на поведение App Lock:

<string name="app_locked_new_notification">New notification</string>
<string name="app_locked_notification_message">New message</string>

Из этого следует простая, но логичная схема: уведомления от заблокированных приложений будут приходить, но без содержимого. То есть система покажет факт события, но не раскроет его суть.

Например, если вы заблокировали Google Messages и получили СМС, в шторке появится нейтральное уведомление «Новое сообщение» — без текста и деталей. То же самое с другими приложениями: вместо конкретного содержания пользователь увидит просто «Новое уведомление».

Пока не до конца ясно, будет ли отображаться название приложения и его иконка. Но если ориентироваться на уже существующие реализации App Lock у разных производителей, скорее всего, они всё-таки останутся — иначе понять, какое именно приложение подало сигнал, будет сложно.

Разумеется, всё это пока не финал. App Lock официально Google ещё не анонсировала, а Canary-сборки — это тестовый полигон, где многое может измениться. Но направление выглядит вполне здравым: приватность сохраняется, а важные события не теряются.

Если Google доведёт эту идею до релиза в Android 17, встроенный App Lock наконец-то станет полноценным и удобным инструментом.

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