The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимость в Python-пакете Js2Py, загружаемого более миллиона раз в месяц

22.06.2024 22:38

В Python-пакете Js2Py, который был загружен в прошлом месяце 1.2 млн раз, выявлена уязвимость (CVE-2024-28397), позволяющая обойти sandbox-изоляцию и выполнить код в системе при обработке специально оформленных данных на JavaScript. Уязвимость может использоваться для атаки на программы, применяющие Js2Py для выполнения JavaScript-кода. Исправление пока доступно только в виде патча. Для проверки возможности атаки подготовлен прототип эксплоита.

Пакет Js2Py реализует интерпретатор и транслятор JavaScript, позволяющий выполнять JavaScript-код в изолированной виртуальной машине или транслировать JavaScript в представление на языке Python. Проект написан целиком на языке Python и не использует сторонние JavaScript-движки. На практике библиотека используется в различных web-индексаторах, системах загрузки и анализаторах сайтов, поддерживающих обработку контента, генерируемого кодом на JavaScript.

Из приложений, которые затрагивает уязвимость, отмечаются Lightnovel Crawler (утилита для загрузки книг из online-сервисов и сохранения их в различных форматах для offline-чтения), cloudscraper (автоматический обход страниц защиты от ботов, используемых в CDN Cloudflare) и pyLoad (менеджер загрузок, поддерживающий обработку страниц, генерируемых на JavaScript). При обработке в данных приложениях специально оформленного JavaScript-контента злоумышленник может добиться выполнения произвольного кода на уровне системы.

Уязвимость присутствует в реализации глобальной переменной внутри js2py, позволяющей получить ссылку на Python-объект из выполняемого в изолированном окружении коде на JavaScript, невзирая на вызов метода js2py.disable_pyimport() для отключения импорта Python-объектов. Для выполнения произвольного кода в системе атакующий может воспользоваться уязвимостью для получения доступа к объекту Popen из Python-модуля subprocess. Примечательно, что изменение с устранением уязвимости было отправлено в проект Js2Py первого марта, но за три с половиной месяца так и не было принято.

  1. Главная ссылка к новости (https://github.com/Marven11/CV...)
  2. OpenNews: Уязвимость в Python, позволяющая вызвать системные команды из изолированных скриптов
  3. OpenNews: Уязвимость в Python, проявляющаяся при обработке непроверенных дробных чисел в ctypes
  4. OpenNews: Локальная root-уязвимость в pam-python
  5. OpenNews: В Python устранена уязвимость в реализации TLS
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61421-python
Ключевые слова: python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (14) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, дАнон (?), 22:42, 22/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    зато удобный сервис юзали
     
     
  • 2.5, Аноним (-), 01:44, 23/06/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > зато удобный сервис юзали

    Ну это смотря кому - удобный. Хотя такая забота о атакующем это похвально, конечно. Вот все бы так!

     
     
  • 3.10, Аноним (10), 09:47, 23/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Всё для наших китайских друзей.  
     

  • 1.3, YetAnotherOnanym (ok), 23:01, 22/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    ЖС с питоном - это и есть то самое "что-то с чем-то".
     
     
  • 2.4, Perlovka (ok), 23:49, 22/06/2024 [^] [^^] [^^^] [ответить]  
  • +10 +/
    >ЖС с питоном

    Буквально - имела жаба питона ©

     
  • 2.6, Аноним (-), 01:46, 23/06/2024 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > ЖС с питоном - это и есть то самое "что-то с чем-то".

    Жаба, хоть и скриптовая, наконец таки слилась в экстазе с гадюкой...

     
  • 2.12, Аноним (12), 12:44, 23/06/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > ЖС с питоном - это и есть то самое "что-то с чем-то".

    Увидел знакомые слова - и обязательно надо что-то ляпнуть, да?

     
     
  • 3.13, Аноним (13), 12:49, 23/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> ЖС с питоном - это и есть то самое "что-то с чем-то".
    > Увидел знакомые слова - и обязательно надо что-то ляпнуть, да?

    Ты будто первый раз на опеннете.

     

  • 1.9, Аноним (10), 09:35, 23/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Сейчас 2024 год кто не в курсе. Запускать что то вне контейнера в вируалке уже давно моветон. Кто так не делает тот сам Буратино. И это без относительно специально добавили уязвимость или нет. Вы же качаете васянопакеты из ненадёжного источника. Там прицепом ещё парочка таких же уязвимостей прилетает о которых ещё никто не знает.
     
     
  • 2.16, Аноним (16), 15:24, 23/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > вне контейнера в вируалке уже давно моветон.

    Хорошая опечатка, прям по фрейду. Как там вирусы в вируалке? Множатся? Не обижаются на упаковку в контейнеры? :)

    > Вы же качаете васянопакеты из ненадёжного источника.

    Не, это вы качаете какой-то треш из своих pipi или что там у вас еще за карго(-культы). А я - только пакеты от майнтайнеров, с проверкой интегрити что это и правда - от них.

     

  • 1.11, Ydro (?), 10:42, 23/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Подскажите, пожалуйста, для запуска этого, но чтобы ещё в PHP обернуть, а потом в Perl, какая серия IBM Z подойдёт, у меня простой сайт одностраничник?
     
  • 1.21, Mim (ok), 13:33, 24/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Примечательно, что изменение с устранением уязвимости было отправлено в проект Js2Py первого марта, но за три с половиной месяца так и не было принято.

    Судя по истории изменений — проект заброшен.
    Последний коммит был в ноябре 2022-го.
    https://github.com/PiotrDabkowski/Js2Py/branches/all

     
  • 1.22, Аноним (22), 17:22, 26/06/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    С самого начала было известно что любые песочницы фундаментально дырявы (см. невычислимые функции и проблему останова). А альтернатива только одна - не пользоваться вредоносными сайтами: ютьюбом и любой малварью с клаудфларью. Собсвенно, именно за это (чтобы мы их оставили в покое) эти сайты и борются. С радостью удовлетворим их пожелание. Весь контент оттуда сначала только скопируем, а потом прикопаем.
     
     
  • 2.23, Аноним (22), 17:28, 26/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/jsinterp.py
     
  • 2.24, Аноним (-), 20:01, 26/06/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > С радостью удовлетворим их пожелание. Весь контент оттуда сначала только скопируем

    А копировалка не отвалится от усилий?
    Тут же надо не только грабануть, но и награбленное удержать.
    Не думаю что Сообщества-пиратов-и-какиров хватит подкроватных серваков на весь ютуб.
    А если пойдут в датацентр с ворованным, то может и маски шоу случиться.
    Ну как по телевизору тутеритунба-тутеритунда

    > а потом прикопаем.

    Ахахаха!
    «Ай, Моська! знать она сильна,
    Что лает на Слона!»

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру