P.S: полная версия песенки про «Hello World» тут: https://youtu.be/yup8gIXxWDU
Are you looking for a supportive and uplifting community to help you on your personal development journey? Look no further than the Positive Development Community on Telegram, with the username @posidev. This channel is a place where like-minded individuals come together to share their experiences, insights, and tips for personal growth and self-improvement. Whether you are looking to boost your confidence, increase your productivity, or simply connect with others who are on a similar path, this community is here to support you every step of the way. The Positive Development Community offers a variety of resources to help you on your journey, including daily motivational quotes, guided meditation sessions, book recommendations, and goal-setting challenges. The supportive and non-judgmental atmosphere of the community makes it the perfect place to share your goals, struggles, and successes with others who truly understand and want to see you thrive. Who is it for? The Positive Development Community is for anyone who is committed to personal growth and is looking for a positive and encouraging space to connect with others who share their goals. Whether you are just starting out on your personal development journey or have been on the path for years, you will find a welcoming community of like-minded individuals who are ready to support you. What is it? The Positive Development Community is a Telegram channel dedicated to fostering a positive and uplifting environment for individuals who are passionate about personal development. Through a combination of resources, discussions, and shared experiences, members of the community can connect with each other, learn from one another, and grow together on their journey towards self-improvement. Join the Positive Development Community today and discover a place where you can find inspiration, motivation, and support as you work towards becoming the best version of yourself. Together, we can create a community of positivity and growth that empowers each and every member to reach their full potential. Come join us on Telegram @posidev and start your journey towards a more positive and fulfilling life!
10 Jan, 13:25
27 Dec, 16:16
25 Dec, 12:08
25 Dec, 06:23
file:///
, в функции check()
класса RealBrowserMonitorType
(см. source code), что позволяло злоумышленнику получить доступ к конфиденциальным локальным файлам на сервере. В исправлении была добавлена проверка в составе URL разрешенных протоколов (только http и https) .getJdbc()
без фильтрации (см. source code), что позволяло аутентифицированным пользователям читать и десериализовать произвольные файлы через соединение JDBC. В исправлении проверка параметров была заменена на проверку всей итоговой строки, которая используется для подключения. register_argc_argv
(включен по умолчанию). В исправлении, в функции findConfig()
была изменена логика получения конфигурационных данных - в консольных приложениях теперь данные берутся из командной строки, а в других случаях из переменной окружения.../
в URL (см. source code), что позволяло злоумышленнику получить доступ к произвольным данным на хосте. В исправлении была скорректирована функция normalizePath()
, которая перед проверкой наличия символов ../
дважды декодирует URL при наличии спецсимволов '%'
с помощью функции decode()
.krbJAASFile
в драйвере, что позволяет злоумышленнику использовать этот параметр в URL для эксплуатации инъекции JNDI. Информация об уязвимости и уязвимых версиях находится в Security Advisory. 20 Dec, 12:15
18 Dec, 06:19
setUrl()
без учета наличия специальных символов (см. source code), что позволяло обойти механизм безопасности и получить доступ к произвольным файлам на хосте. В исправлении перед проверкой была добавлена обработка пользовательского значения с помощью функции trim()
, которая позволяет убрать специальные символы. XMLConstants.ACCESS_EXTERNAL_DTD
и XMLConstants.ACCESS_EXTERNAL_SCHEMA
с значением False
.ajax_single_payment_refund()
и ajax_single_payment_cancel()
(см. source code ), что позволяло злоумышленнику выполнять привилегированные действия с платежами. В исправлении добавлены проверки прав доступа для текущего пользователя c помощью функции wpforms_current_user_can()
._extract_packages_archive()
(см. source code), что позволяло злоумышленнику, например, перезаписать произвольные файлы на хосте и добиться удаленного выполнения кода. В исправлении метод распаковки архивов был заменен на использование класса SafeExtractor
, который содержит методы для безопасной обработки содержимого.27 Nov, 07:51
Popen()
с флагом shell=True
(см. source code), что позволяло внедрить произвольные команды ОС и выполнить их. В исправлении флаг shell=True
в функции Popen()
был удален, также метод формирования аргумента процесса был заменен на использование листа, а не форматированной строки."\n"
при парсинге http-запросов (см. source code), что позволяло злоумышленнику, например, получить доступ к конфиденциальной информации. В исправлении было добавлено условие для проверки наличия символов "\n"
.JavaScript
код внутрь файла, который будет выполнен при обращении к нему. В исправлении была добавлена библиотека enshrined\svgSanitize
для санитизации загружаемых svg
файлов. findCharSet()
для определения значения поля encoding (см. source code), что позволяло злоумышленнику обойти механизмы валидации и, например, внедрять произвольные сущности в передаваемом XML. В исправлении разработчики отказались от использования регулярных выражений и стали вызывать метод guessEncodingBom()
для определения значения поля encoding, также была добавлена санитизация значений \0
с помощью str_replace()
. check_login_and_get_user()
. Информация об уязвимости и уязвимых версиях находится в Security Advisory. 22 Nov, 16:39
20 Nov, 06:38
absolutePath()
, пропускается через фильтрующий метод static::normalizePath()
. execute_svg()
(см. source code), что позволяло злоумышленнику внедрить в такие файлы произвольный JavaScript код, который в последующем выполнится. В исправлении была добавлена функция sanitize_svg()
, которая удаляет элементы script
и элементы с атрибутами, начинающимися с on
, в загружаемых SVG файлах.FileStorage
(см. source code), что позволяло злоумышленнику читать и удалять произвольные файлы в файловой системе. В исправлении в конструкторе добавили проверки для инициализации базового каталога $baseDir
, а также был добавлен метод getRealFilePath()
для контроля пути к файлу. username
в функции exec.Command()
(см. source code), что позволяло злоумышленнику при конфигурации подключения через веб-интерфейс внедрить произвольные команды ОС и выполнить их. В исправлении был добавлен метод ValidateUsernameAndRemoteAddr()
для контроля значений username
и remoteIpAddr
с помощью набора регулярных выражений. 19 Nov, 19:47
13 Nov, 07:22
accessType
напрямую в SQL запрос при обращении к CreateUser API /orchestrator/user
(см. source code). В исправлении формирование SQL запроса стало выполняться с помощью параметризации. TryAddWithoutValidation()
, которая не исключает символы CRLF при добавлении новых заголовков в HTTP запросы (см. source code). В исправлении перед добавлением заголовка, его значения стали пропускаться через метод EnsureSafe()
, который используется для очистки передаваемых значений от символов CRLF.decodeComponent()
для обработки путей (см. source code), что позволяло злоумышленнику обойти проверку и получить доступ к произвольным файлам на хосте. В исправлении функция была заменена на встроенную функцию decode()
для декодирования путей к файлам. confirmation_token
в состав html-кода (см. source code), что позволяет злоумышленнику внедрить вредоносный JavaScript код. В исправлении была добавлена функция экранирования h()
параметра confirmation_token
при его добавлении в html-код.readfile()
и unlink()
. Информация об уязвимости и уязвимых версиях находится в Security Advisory. 08 Nov, 16:59
06 Nov, 07:44
file://
при доступе к файлам, с помощью добавления source:
к полезной нагрузке. В исправлении были добавлены дополнительные проверки сочетаний source:
и file://
с использованием функций is_safe_url()
и re.search().
tid
напрямую в SQL запрос (см. source code). В исправлении была добавлена обработка параметра tid
с помощью метода validCardinal()
, который проверяет на целочисленные значения, и формирование SQL запроса стало выполняться с помощью параметризации.os.Getwd()
) и санитизации названий файлов (filepath.Clean()
). sanitize()
. В исправлении в условие проверки возвращаемого значения функции hasOwnProperty()
было добавлено строгое равенство через оператор '===
' на true
. vti_bin/client.svc/ProcessQuery
. Информация об уязвимости и уязвимых версиях находится в Security Advisory. 01 Nov, 07:55
30 Oct, 17:54
30 Oct, 07:19
getDatabaseUrl()
(см. source code), что позволяло злоумышленнику подгружать DLL файлы и исполнять произвольный код. В исправлении были добавлены методы контроля имени БД и дополнительные настройки ограничения режима доступа (read-only). safe_join()
при использовании функции os.path.isabs()
из версии Python < 3.11 (см. source code), что позволяло злоумышленнику выполнить обход пути в ОС Windows. В исправлении была добавлена проверка filename.startswith("/")
для контроля UNC пути. childProcess.spawnSync()
(см. source code) что позволяло внедрить команды ОС используя пути к сканируемым файлам. В исправлении метод формирования аргументов, передаваемых в метод childProcess.spawnSync()
, был заменен на использование параметризированного подхода24 Oct, 15:20
23 Oct, 16:20
decodedReqPath()
непосредственно в path.join()
(см. source code), что позволяло злоумышленнику получить доступ к произвольным файлам на хосте. В исправлении был добавлен метод sanitizeFilePath()
, в котором пользовательский ввод нормализуется (path.normalize()
) и санитизируется с использованием регулярного выражения (\.\.[\/\\])+
) . multipart/form-data
в буфер без каких-либо ограничений по размеру (см. source code), что позволяло злоумышленнику загружать произвольные большие поля формы. В исправлении было введено ограничение на максимальный размер передаваемых частей (max_part_size
), при превышении которого срабатывает исключение MultiPartException
.src
в процессе санитизации (см. source code), что позволяло злоумышленнику внедрить произвольный JavaScript код через элемент iframe
в markdown
. В исправлении был добавлен контроль за атрибутом src
тэга iframe
с помощью введения нового контроля. safe_deepcopy()
для обеспечения защиты от параллельного изменения конфигурации. VIEWER
и выше внедрить произвольный код в SQL запрос и, например, прочитать произвольные файлы на хосте. Информация об уязвимости и уязвимых версиях находится в Security Advisory. 18 Oct, 06:44
16 Oct, 07:48
guessExtension()
, которая определяет расширение файлов по MIME, была заменена на функцию getClientOriginalExtension()
, которая определяет расширение из имени файла.document.scripts
для осуществления контроля (см. source code), что позволяло злоумышленнику вставлять определенные HTML-теги с навязанными атрибутами. В исправлении использование свойства document.scripts
было заменено на document.getElementsByTagName('script')
.XMLConstants.FEATURE_SECURE_PROCESSING
со значением true
, которая позволяет включить безопасный процесс обработки XML.node:vm
для анализа выражений, что позволяло злоумышленнику внедрить вредоносный код и выполнить его в контексте приложения. В исправлении был переработан процесс использования модуля node:vm
, также была скорректирована проверка свойств объектов.