View Single Post
  #1  
Old 03-14-2025, 11:14 PM

Artifact Artifact is offline
Administrator
Join Date: Jan 2024
Posts: 0
Default


Неожиданно и интересно: знакомая угроза в новой оболочке.

Независимый исследователь безопасности Абдулрахим Халед недавно поделился подробностями, о найденной им уязвимости в языке программирования Python, которую он назвал «class pollution» (в дословном переводе «загрязнение класса»). Эта уязвимость интересна тем, что она по своему принципу очень похожа на уязвимость из другого языка программирования — JavaScript. Там она называется «prototype pollution» (в дословном переводе «загрязнение прототипа»).
Исследователь отметил, что уязвимости типа «pollution» чаще всего встречаются в приложениях на JavaScript. Языки на основе классов, такие как Python, кажутся невосприимчивы к такого рода уязвимостям. Однако, Халед сообщил, что лично наблюдал подобную уязвимость в Python, где уязвимость проявилась в «загрязнении» изменяемого атрибута «class». Исследователь также подробно описал, как именно злоумышленник может «загрязнить» любой родительский класс. На схему работы уязвимости можно посмотреть ниже:


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

  • Обход фильтров. Например, обход фильтра Jinja при попытке загрузить файл шаблона. Это позволит злоумышленникам загружать файлы из любого локального каталога, не ограничиваясь каталогом шаблонов.

  • Удаленное выполнение команды путем перезаписи переменных среды COMSPEC или PATH.


«Я ожидаю скоро увидеть похожие уязвимости и в других языках программирования», — выразил своё опасение Абдулрахим Халед.