🔍 Наиболее интересные уязвимости
🐛 CVE-2025-61769, обнаруженная в emlog (версии до и включая 2.5.22), приводит к Cross-Site Scripting (XSS). Проблема заключалась в возможности загрузки
🐛 CVE-2025-61913, обнаруженная в FlowiseAI (версии до 3.0.8), приводит к Path Traversal. Проблема заключалась в отсутствии ограничений на пути файлов в
🐛 CVE-2025-59146, обнаруженная в QuantumNous (версии до 0.9.0.5), приводит к Server-Side Request Forgery (SSRF). Проблема заключалась в отсутствии валидации пользовательских URL перед серверным запросом. В исправлении реализована фильтрация адресов и предотвращение доступа к внутренним ресурсам.
🐛 CVE-2025-61773, обнаруженная в pyload (версии до 0.5.0b3.dev91), приводит к Cross-Site Scripting (XSS). Проблема заключалась в отсутствии валидации и экранирования пользовательских параметров в Captcha script и Click'N'Load Blueprint. В исправлении добавлены проверки и экранирование входных данных.
🐛 CVE-2025-61787, обнаруженная в denoland (версии до 2.5.3 и 2.2.15), приводит к OS Command Injection. Проблема заключалась в том, что при запуске batch-файлов на Windows через
🐛 CVE-2025-61769, обнаруженная в emlog (версии до и включая 2.5.22), приводит к Cross-Site Scripting (XSS). Проблема заключалась в возможности загрузки
.svg файлов с внедрённым JavaScript через функционал загрузки файлов. В исправлении расширение .svg было добавлено в список "черный" список🐛 CVE-2025-61913, обнаруженная в FlowiseAI (версии до 3.0.8), приводит к Path Traversal. Проблема заключалась в отсутствии ограничений на пути файлов в
WriteFileTool() и ReadFileTool(). В исправлении добавлена проверка и ограничение разрешённых директорий для операций с файлами.🐛 CVE-2025-59146, обнаруженная в QuantumNous (версии до 0.9.0.5), приводит к Server-Side Request Forgery (SSRF). Проблема заключалась в отсутствии валидации пользовательских URL перед серверным запросом. В исправлении реализована фильтрация адресов и предотвращение доступа к внутренним ресурсам.
🐛 CVE-2025-61773, обнаруженная в pyload (версии до 0.5.0b3.dev91), приводит к Cross-Site Scripting (XSS). Проблема заключалась в отсутствии валидации и экранирования пользовательских параметров в Captcha script и Click'N'Load Blueprint. В исправлении добавлены проверки и экранирование входных данных.
🐛 CVE-2025-61787, обнаруженная в denoland (версии до 2.5.3 и 2.2.15), приводит к OS Command Injection. Проблема заключалась в том, что при запуске batch-файлов на Windows через
CreateProcess() всегда неявно использовался cmd.exe, что позволяло внедрять команды ОС. В исправлении добавлена явная проверка и ограничение запуска batch-файлов для предотвращения инъекций.1👍3❤1😢1💯1
Ну что, пора заканчивать неправильную часть пятницы и переходить к правильной? Всем поскорее осуществить переход и ещё пару дней из него не возвращаться 😌 🫶
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍3🔥3🤣3
Forwarded from Искусство. Код... ИИ?
🧩 Принципы и паттерны безопасной разработки: OCP и fail-closed
(Open/Closed Principle) — классы и функции открыты для расширения, но закрыты для модификации. Говоря проще: проектируем приложение так, чтобы для новых фичей требовались минимальные изменения в уже существующем (протестированном и стабильном, ну... как правило) коде.
С точки зрения безопасности, это снижает риски сломать уже существующие защитные меры и получить на ровном месте регрессии вроде:
• CWE-840 — логическая уязвимость из-за изменения условий
• CWE-489 — ослабление проверки при модификации кода
... и охапки прочих, на правах их прямых последствий.
🐛 Жизненное
В Apache HTTPD (CVE-2021-41773) разработчики изменили ядро обработки путей — и открыли обход директорий
Та же история с Dirty Pipe (CVE-2022-0847) в Linux: неаккуратная «оптимизация» существующего кода pipe нарушила старые гарантии → повышение локальных привилегий.
💡 Пример: PEP-750, t-строки и шаблоны
По мотивам предыдущего поста:
Плохой пример:
Новый формат → новая ветка → новый риск сломать там что-то ранее работавшее (вспоминаем goto fail;).
Хороший пример:
Ядро неизменно — добавляем только новые обработчики, неизвестные спецификации блокируются (fail-closed*): безопаснее, предсказуемее, тестируется в разы проще.
⚠️ OCP — не догма
«Модификация» в OCP не про рефакторинг, баги или уязвимости. Если в существующем коде нашли нашли проблему, то нужно править. Безопасность и здравый смысл приоритетнее. OCP всё же — не тотальный запрет на изменения, а гигиена расширяемости: добавление фичей, без изменения того, что уже защищено и протестировано.
TL;DR:
• Стоит разумно следовать OCP, чтобы не сломать защиту, добавляя фичи.
• Расширять, а не модифицировать, если речь не идёт о рефакторинге, багах или уязвимостях.
• Из-за нарушений OCP «увидели свет» многие, в том числе именитые, CVE.
(Open/Closed Principle) — классы и функции открыты для расширения, но закрыты для модификации. Говоря проще: проектируем приложение так, чтобы для новых фичей требовались минимальные изменения в уже существующем (протестированном и стабильном, ну... как правило) коде.
С точки зрения безопасности, это снижает риски сломать уже существующие защитные меры и получить на ровном месте регрессии вроде:
• CWE-840 — логическая уязвимость из-за изменения условий
• CWE-489 — ослабление проверки при модификации кода
... и охапки прочих, на правах их прямых последствий.
🐛 Жизненное
В Apache HTTPD (CVE-2021-41773) разработчики изменили ядро обработки путей — и открыли обход директорий
../. Если бы новую логику добавили отдельным модулем, а не правили существующую, старая проверка осталась бы нетронутой.Та же история с Dirty Pipe (CVE-2022-0847) в Linux: неаккуратная «оптимизация» существующего кода pipe нарушила старые гарантии → повышение локальных привилегий.
💡 Пример: PEP-750, t-строки и шаблоны
По мотивам предыдущего поста:
t"..." создаёт объект Template, а его части (Interpolation) форматируются по format_spec. Здесь напрашивается типичная ошибка — дописывать в обработчике if/elif для новых форматов (HTML, SQL, shell). Каждый раз приходится лезть в уже написанный код, и, тем самым, нарушать OCP.Плохой пример:
def render(t):
for part in t:
if spec == "html":
out.append(html_escape(v))
elif spec == "sql":
out.append(sql_param(v))
else:
out.append(format(v))
Новый формат → новая ветка → новый риск сломать там что-то ранее работавшее (вспоминаем goto fail;).
Хороший пример:
_handlers = []
def register(h): _handlers.append(h); return h
def render(t):
for it in t:
if isinstance(it, str): yield it
elif h := next((h for h in _handlers if h.supports(it)), None):
yield h.apply(it)
else:
raise ValueError(f"Unsupported spec: {it.format_spec}")
@register
class HtmlHandler:
def supports(self, it): return it.format_spec.startswith("html")
def apply(self, it): return html_escape(str(it.value))
Ядро неизменно — добавляем только новые обработчики, неизвестные спецификации блокируются (fail-closed*): безопаснее, предсказуемее, тестируется в разы проще.
*️⃣ Fail-closed (безопасный отказ) — принцип проектирования, при котором система в случае ошибки или неопределённости выбирает безопасное поведение, даже если это мешает работе.
Примеры:
• парсер не знает формат входных данных → отклоняет запрос;
• фильтр не смог проверить токен → доступ запрещён;
• обработчик t-строк встретил неизвестный `format_spec` → бросает исключение вместо неэкранированного вывода.
Такой подход предотвращает «тихие» обходы проверок и делает поведение системы предсказуемым даже при сбоях.
⚠️ OCP — не догма
«Модификация» в OCP не про рефакторинг, баги или уязвимости. Если в существующем коде нашли нашли проблему, то нужно править. Безопасность и здравый смысл приоритетнее. OCP всё же — не тотальный запрет на изменения, а гигиена расширяемости: добавление фичей, без изменения того, что уже защищено и протестировано.
TL;DR:
• Стоит разумно следовать OCP, чтобы не сломать защиту, добавляя фичи.
• Расширять, а не модифицировать, если речь не идёт о рефакторинге, багах или уязвимостях.
• Из-за нарушений OCP «увидели свет» многие, в том числе именитые, CVE.
❤3👍2
🔍 Наиболее интересные уязвимости
🐛 CVE-2025-62364, обнаруженная в oobabooga (версии до 3.14), приводит к Local File Inclusion (LFI). Проблема заключалась в обработке загрузки файлов, где приложение следовало символическим ссылкам и раскрывало содержимое произвольных файлов. В исправлении была добавлена жёсткая проверка пути и блокировка symlink: введена функция
🐛 CVE-2025-62156, обнаруженная в argoproj Argo Workflows (версии до 3.6.12 и 3.7.0–3.7.2), приводит к Path traversal. Проблема заключалась в отсутствии проверки, что header.Name при распаковке архива остаётся внутри целевой директории, что позволяло создавать или перезаписывать файлы вне
🐛 CVE-2025-62374, обнаруженная в Parse Javascript SDK (версии до 7.0.0), приводит к Prototype Pollution. Проблема заключалась в возможности инъекции вредоносного кода через функции
🐛 CVE-2025-11849, обнаруженная в mammoth (версии до 1.11.0), приводит к Path traversal. Проблема заключалась в отсутствии проверки пути или типа файла при обработке docx-файла с изображением, содержащим внешний
🐛 CVE-2025-62413, обнаруженная в MQTTX (версия 1.12.0), приводит к Cross-site Scripting (XSS). Проблема заключалась в некорректной обработке рендеринга
🐛 CVE-2025-62364, обнаруженная в oobabooga (версии до 3.14), приводит к Local File Inclusion (LFI). Проблема заключалась в обработке загрузки файлов, где приложение следовало символическим ссылкам и раскрывало содержимое произвольных файлов. В исправлении была добавлена жёсткая проверка пути и блокировка symlink: введена функция
open_image_safely() с os.path.islink() и проверкой существования файла, UI-компоненты Gradio переключены с type='pil' на type='filepath', чтобы работать с путями и применять валидацию до открытия изображения.🐛 CVE-2025-62156, обнаруженная в argoproj Argo Workflows (версии до 3.6.12 и 3.7.0–3.7.2), приводит к Path traversal. Проблема заключалась в отсутствии проверки, что header.Name при распаковке архива остаётся внутри целевой директории, что позволяло создавать или перезаписывать файлы вне
/work/tmp, включая системные каталоги. В исправлении добавлена валидация результирующего пути: отклоняются абсолютные и traversal-пути, а извлекаемые записи разрешаются только если их итоговый путь остаётся префиксом директории назначения.🐛 CVE-2025-62374, обнаруженная в Parse Javascript SDK (версии до 7.0.0), приводит к Prototype Pollution. Проблема заключалась в возможности инъекции вредоносного кода через функции
ParseObject.fromJSON и другие, что позволяло удаленно выполнять произвольный код. В исправлении была добавлена валидация и фильтрация опасных ключей при сериализации/десериализации и регистрации классов, ужесточена проверка типов и отказ при обнаружении недопустимых путей.🐛 CVE-2025-11849, обнаруженная в mammoth (версии до 1.11.0), приводит к Path traversal. Проблема заключалась в отсутствии проверки пути или типа файла при обработке docx-файла с изображением, содержащим внешний
r:link, что позволяет читать произвольные файлы. В исправлении была по умолчанию отключена работа с внешними файлами: externalFileAccess переведён в false в стандартных опциях.🐛 CVE-2025-62413, обнаруженная в MQTTX (версия 1.12.0), приводит к Cross-site Scripting (XSS). Проблема заключалась в некорректной обработке рендеринга
MQTT message payload, что позволяло выполнять произвольные скрипты через HTML или JavaScript в контексте UI приложения. В исправлении была добавлена безопасная обработка XML-пейлоадов: введены функции isXML() и escapeXmlForHtml(), а в компоненте TreeNodeInfo.vue при определении формата xml вывод переведён на экранированный текст.GitHub
Safer profile picture uploading · oobabooga/text-generation-webui@282aa19
The definitive Web UI for local AI, with powerful features and easy setup. - Safer profile picture uploading · oobabooga/text-generation-webui@282aa19
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Анализ смарт-контрактов на примере Solidity
Блокчейн-индустрия переживает период беспрецедентного роста. Общая стоимость заблокированных активов (total value locked, TVL) в децентрализованных финансовых протоколах превышала 200 млрд долларов по...
3🔥4❤3
Итоги State of DevOps Russia 2025
На вебинаре представим результаты «Исследования состояния DevOps в России 2025» — анализа индустрии, основанного на опросе более 4000 специалистов. Ежегодно «Экспресс 42» вместе с партнёрами выявляет технологические тренды и оценивает их влияние на эффективность разработки. В эфире примет участие Антон Жаболенко, директор по продуктам application security Positive Technologies, обсудит результаты исследования и поделится опытом построения DecSecOps.
Помимо ИБ в этом году исследовали Developer Experience, ИИ- и DevOps-инструменты, Kubernetes, внутренние платформы для разработки.
Вы узнаете:
• какие инструменты сейчас популярны;
• какие характеристики Developer Experience отличают высокоэффективные команды;
• для каких задач используют ИИ-инструменты;
• как внедряют ИБ в процесс разработки;
• какие цели развития у внутренних платформ для разработки;
• какие изменения произошли на рынке труда за год.
Ждём вас на вебинаре!
Онлайн | 31 октября в 12:00
Зарегистрироваться https://clc.to/web_7sod25
На вебинаре представим результаты «Исследования состояния DevOps в России 2025» — анализа индустрии, основанного на опросе более 4000 специалистов. Ежегодно «Экспресс 42» вместе с партнёрами выявляет технологические тренды и оценивает их влияние на эффективность разработки. В эфире примет участие Антон Жаболенко, директор по продуктам application security Positive Technologies, обсудит результаты исследования и поделится опытом построения DecSecOps.
Помимо ИБ в этом году исследовали Developer Experience, ИИ- и DevOps-инструменты, Kubernetes, внутренние платформы для разработки.
Вы узнаете:
• какие инструменты сейчас популярны;
• какие характеристики Developer Experience отличают высокоэффективные команды;
• для каких задач используют ИИ-инструменты;
• как внедряют ИБ в процесс разработки;
• какие цели развития у внутренних платформ для разработки;
• какие изменения произошли на рынке труда за год.
Ждём вас на вебинаре!
Онлайн | 31 октября в 12:00
Зарегистрироваться https://clc.to/web_7sod25
👍2❤1🔥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
🤣15❤6🔥5