Админ два раза на одни и те же грабли не наступает. Мемы на месте? Теперь очередь за вами: пятница сама себя правильно не проведет, знаете ли 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2😁20❤10🤣5🔥1🤯1
Forwarded from Искусство. Код... ИИ?
Уже лишь только ленивый не написал про CVE-2025-55182 aka React2Shell, пересказывая своими словами райтапы, пересказанные ранее другими авторами с пересказанных ещё кем-то постов.
Повторяться смысла нет, но вот ещё раз вспомнить, что делать разработчикам, чтобы не допустить подобную уязвимость у себя в проекте — лишним точно не будет.
✖️ Что НЕ сделали разработчики React'а?
Команда React не предусмотрела надёжную проверку и фильтрацию данных при десериализации входных нагрузок RSC (React Server Components). В результате они могли расширять свойства объектов без достаточной валидации (например, путём инъекции proto), что позволяло загрязнять прототипы (prototype pollution) и выполнять произвольный код на сервере.
✅ Что делать разработчикам?
Зависит от языка, поскольку на похожие грабли можно наступить и в некоторых других языках.
💻 💻 :
• Используйте структуры данных без прототипа: вместо пустых объектов
• При необходимости используйте ассоциативные коллекции — применяйте
• Замораживайте глобальные прототипы: например, вызов
• При запуске Node.js можете указать флаг
• Санитизируйте имена полей при объединении/парсинге JSON: запрещайте или фильтруйте ключи вроде
• Избегайте небезопасных merge-функций (например,
💻 Python:
• Не используйте
• Избегайте рекурсивного слияния атрибутов объектов из пользовательских словарей. Любая функция типа
• Ограничивайте динамическое добавление атрибутов. При необходимости используйте
• Проверяйте использование
• Замораживайте и не раскрывайте конфиденциальные переменные: не давать внешнему коду доступ к глобальному состоянию приложения (модули, конфиг и т.д.), тем более через
Продолжение — в следующем посте.
Повторяться смысла нет, но вот ещё раз вспомнить, что делать разработчикам, чтобы не допустить подобную уязвимость у себя в проекте — лишним точно не будет.
Команда React не предусмотрела надёжную проверку и фильтрацию данных при десериализации входных нагрузок RSC (React Server Components). В результате они могли расширять свойства объектов без достаточной валидации (например, путём инъекции proto), что позволяло загрязнять прототипы (prototype pollution) и выполнять произвольный код на сервере.
Зависит от языка, поскольку на похожие грабли можно наступить и в некоторых других языках.
• Используйте структуры данных без прототипа: вместо пустых объектов
{} применяйте Object.create(null) или литерал {__proto__: null}. Это предотвратит наследование опасных свойств от Object.prototype.• При необходимости используйте ассоциативные коллекции — применяйте
new Map() и new Set() вместо обычных объектов. У них нет «прототипа» в классическом понимании, и методы вроде .get()/.has() возвращают только значения.• Замораживайте глобальные прототипы: например, вызов
Object.freeze(Object.prototype) (и/или Object.seal) заблокирует добавление или изменение свойств базового прототипа. Это затруднит атаки, но нужно учитывать, что многие библиотеки рассчитывают на динамическое расширение объектов.• При запуске Node.js можете указать флаг
--disable-proto=delete — он полностью удалит свойство __proto__ из стандартных объектов.• Санитизируйте имена полей при объединении/парсинге JSON: запрещайте или фильтруйте ключи вроде
__proto__, prototype, constructor и подобных. Лучше всего – явно разрешать (whitelist) только ожидаемые имена полей и отбрасывать все остальное.• Избегайте небезопасных merge-функций (например,
lodash.merge, рекурсивных функций объединения объектов) при работе с внешними данными. Если мёрдж неизбежен, тщательно проверяйте, как реализована функция: нет ли в ней присвоения прототипов или вызова setattr (в JS – методов вроде Object.assign/reduce).• Не используйте
pickle, или хотя бы не выполняйте pickle.loads на входных данных. Если нужна сериализация, используйте безопасный формат (JSON, json/yaml без пользовательских конструкторов).• Избегайте рекурсивного слияния атрибутов объектов из пользовательских словарей. Любая функция типа
merge(src, dst) может при наличии поля __class__ или __globals__ обойти границы объекта и изменить класс или глобальные переменные. Проверяйте, что входные данные не содержат ключей, начинающихся с __ или равных именам методов объектов.• Ограничивайте динамическое добавление атрибутов. При необходимости используйте
__slots__ в классах или явно задавайте список полей (например, через dataclasses), чтобы неизвестные атрибуты просто игнорировались. По возможности не добавляйте атрибуты в классы по именам из JSON.• Проверяйте использование
setattr и init: ни в коем случае не допускайте передачи строкового кода или списка методов для выполнения через eval/instance_eval внутри __init__ или других «магических» методов.• Замораживайте и не раскрывайте конфиденциальные переменные: не давать внешнему коду доступ к глобальному состоянию приложения (модули, конфиг и т.д.), тем более через
__globals__/__class__.Продолжение — в следующем посте.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2❤1
🔍 Наиболее интересные уязвимости
🐛 CVE-2025-66313, обнаруженная в ChurchCRM (версии 6.2.0 и ранее), приводит к SQL Injection. Проблема заключалась в обработке параметров
🐛 CVE-2025-65959, обнаруженная в Open WebUI (версии до 0.6.37), приводит к Cross-Site Scripting (XSS). Проблема заключалась в возможности импорта Markdown файла с вредоносными SVG тегами, что позволяло выполнять произвольный JavaScript код и красть сессионные токены при скачивании заметки в формате PDF. В исправлении добавлена санитизация с помощью
🐛 CVE-2025-66448, обнаруженная в vLLM (версии до 0.11.1), приводит к Remote Code Execution (RCE). Проблема заключалась в том, что функция
🐛 CVE-2025-66404, обнаруженная в MCP Server Kubernetes (версии до 2.9.8), приводит к Command Injection. Проблема заключалась в передаче пользовательских команд в формате строки напрямую в интерпретатор без валидации ввода, что позволяло выполнить произвольные системные команды. В исправлении добавлена схема и сигнатура
🐛 CVE-2025-55182, обнаруженная в React Server Components (версии 19.0.0, 19.1.0, 19.1.1 и 19.2.0), приводит к Remote Code Execution (RCE). Проблема заключалась в небезопасной десериализации данных из HTTP-запросов к Server Function endpoints, что позволяло выполнить произвольный код, вызывая нативные функции, такие как
🐛 CVE-2025-66313, обнаруженная в ChurchCRM (версии 6.2.0 и ранее), приводит к SQL Injection. Проблема заключалась в обработке параметров
newFieldSec или 1FieldSec, значения которых попадали в SQL-запрос без должной параметризации, что позволяло выполнять произвольный SQL код. В исправлении значение поля проходит через InputUtils::legacyFilterInput(..., 'int') и приводится к целому числу.🐛 CVE-2025-65959, обнаруженная в Open WebUI (версии до 0.6.37), приводит к Cross-Site Scripting (XSS). Проблема заключалась в возможности импорта Markdown файла с вредоносными SVG тегами, что позволяло выполнять произвольный JavaScript код и красть сессионные токены при скачивании заметки в формате PDF. В исправлении добавлена санитизация с помощью
DOMPurify.sanitize(). 🐛 CVE-2025-66448, обнаруженная в vLLM (версии до 0.11.1), приводит к Remote Code Execution (RCE). Проблема заключалась в том, что функция
get_class_from_dynamic_module() загружала и выполняла код из удаленного репозитория, даже если значение флага trust_remote_code было установлено в False. В исправлении реализация Nemotron_Nano_VL_Config была полностью удалена, а также для Nemotron-модели добавили безопасную настройку.🐛 CVE-2025-66404, обнаруженная в MCP Server Kubernetes (версии до 2.9.8), приводит к Command Injection. Проблема заключалась в передаче пользовательских команд в формате строки напрямую в интерпретатор без валидации ввода, что позволяло выполнить произвольные системные команды. В исправлении добавлена схема и сигнатура
exec_in_pod изменены так, что поддерживается только массив строк, параметр shell удалён, добавлена валидация: проверка, что command — непустой массив и все элементы имеют тип string.🐛 CVE-2025-55182, обнаруженная в React Server Components (версии 19.0.0, 19.1.0, 19.1.1 и 19.2.0), приводит к Remote Code Execution (RCE). Проблема заключалась в небезопасной десериализации данных из HTTP-запросов к Server Function endpoints, что позволяло выполнить произвольный код, вызывая нативные функции, такие как
child_process.execSync(). В исправлении добавили строгую обработку ошибок, а также более безопасное разрешение модулей через hasOwnProperty(). Подробную информацию об уязвимости можно прочитать в статье.❤1👍1
Forwarded from Positive Technologies
А у нас две новости о грядущем PHDays Fest ✌️
Первая — в следующем году наш киберфестиваль пройдет с 28 по 30 мая, так что открывайте свои календари и записывайте.
🤖 Подробностями поделимся позже, но уже сейчас можем сказать, что на нем мы продолжим говорить о технологиях. Более простым и понятным языком — для всех, посложнее — для специалистов по кибербезопасности и ИТ. Будет больше сцен, исследований, практики и открытых диалогов.
Вторая новость — мы открываем прием заявок на выступления как перед широкой аудиторией, так и перед экспертным сообществом.
🗣 Если вам есть что рассказать об устройстве цифрового мира и месте кибербезопасности в нем, смело пишите. Пусть все узнают о реальных историях и кейсах, ваших неожиданных находках и крутых идеях.
👉 Узнать больше подробностей и подать заявку можно на сайте киберфестиваля PHDays.
#PHDays
@PHDays
@Positive_Technologies
Первая — в следующем году наш киберфестиваль пройдет с 28 по 30 мая, так что открывайте свои календари и записывайте.
Вторая новость — мы открываем прием заявок на выступления как перед широкой аудиторией, так и перед экспертным сообществом.
🗣 Если вам есть что рассказать об устройстве цифрового мира и месте кибербезопасности в нем, смело пишите. Пусть все узнают о реальных историях и кейсах, ваших неожиданных находках и крутых идеях.
#PHDays
@PHDays
@Positive_Technologies
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Кто рано встаёт... тот зачем-то проснулся ни свет, ни заря, вместо того, чтобы от души отдохнуть и набраться сил перед правильной частью пятницы 🤷♂️
Хоть с мемов этот день начните, жаворонки вы наши🤗
Хоть с мемов этот день начните, жаворонки вы наши
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣21❤9🥰5❤🔥1