The OpenNET Project / Index page

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

Уязвимости в Perl, ownCloud, GStreamer и Zephyr RTOS

27.11.2023 14:08

Несколько недавно обнаруженных уязвимостей:

  • В корректирующем выпуске Perl 5.38.1 устранена уязвимость (CVE-2023-47038), которая может привести к записи одного байта за пределы выделенного буфера при обработке скомпилированных регулярных выражений с некорректно повторно определённым внутренним Unicode-свойством с именем, начинающимся на "utf8::perl". Проблема проявляется начиная с ветки Perl 5.30.

    Кроме того, в Perl 5.38.1 устранена специфичная для платформы Windows уязвимость (CVE-2023-47039), позволяющая выполнить свой код при запуске скриптов при наличии возможности размещения в текущем каталоге файла cmd.exe (из-за отсутствия чистки путей для поиска исполняемых файлов Perl вначале пытается запустить cmd.exe в текущем каталоге). Например, злоумышленник может разместить свой cmd.exe в каталог C:\ProgramData и поднять свои привилегии, если администратор запустит Perl-скрипт из этого каталога.

  • В облачной платформы ownCloud, от которой в 2016 году отделился проект Nextcloud, выявлена уязвимость (CVE-2023-49103), затрагивающая приложение graphapi и позволяющая определить содержимое переменных окружения, которые могут содержать пароль администратора, лицензионный ключ и учётные данные для подключения к почтовому серверу. Проблема вызвана использованием в graphapi сторонней библиотеки, которая среди прочего предоставляет обработчик GetPhpInfo.php, вызывающий функцию phpinfo(), в выводе которой присутствуют переменные окружения.

    Для атаки достаточно обратиться по ссылке "https://имя-сервера-ownCloud/owncloud/apps/graphapi/vendor/microsoft/microsoft-graph/tests/GetPhpInfo.php". Уязвимость, которой присвоен критический уровень опасности (10 из 10), устранена в обновлении компонента graphapi 0.3.1. Уязвимость уже используется для автоматизированной атаки на серверы с ownCloud.

  • В мультимедийном фреймворке GStreamer выявлены две уязвимости: CVE-2023-44446 - обращение к памяти после её освобождения (Use-After-Free) в коде разбора файлов MXF; CVE-2023-44429 - переполнение буфера в коде разбора формата AV1. Первая проблема вызвана отсутствием проверки объекта перед выполнением с ним операций, а вторая отсутствием проверки размера данных перед копированием в фиксированный буфер. Уязвимости могут привести к выполнению кода злоумышленника при попытке обработки специально оформленных файлов MXF и мультимедийных данных в формате AV1. Отмечается, что векторы атаки зависят от реализации атакуемого приложения. Проблемам присвоен уровень опасности 8.8 из 10. Уязвимости устранены в выпуске GStreamer 1.22.7.
  • В операционной системе реального времени Zephyr RTOS выявлено 25 уязвимостей, большинство из которых потенциально могут привести к выполнению кода атакующего. Уязвимости вызвана переполнениями буферов в WiFi shell, стеке Bluetooth, драйвере IPM, USB-стеке, драйвере IEEE 802.15.4, подсистеме Mgmt, файловой системе, драйвере eS-WiFi и подсистеме CANbus. Большинство уязвимостей устранено в выпуске Zephyr 3.5.0, но одна проблема (CVE-2023-4261) остаётся неисправленной (подробности о данной уязвимости не публикуются до появления исправления).


  1. Главная ссылка к новости (https://metacpan.org/release/P...)
  2. OpenNews: Уязвимости в интерпретаторе Perl, связанные с обработкой переменных окружения и regexp
  3. OpenNews: В Perl модуле File::Path найдена уязвимость
  4. OpenNews: 25 уязвимостей в RTOS Zephyr, в том числе эксплуатируемые через ICMP-пакет
  5. OpenNews: Уязвимости в GStreamer, приводящие к выполнению кода при обработке файлов SRT и PGS
  6. OpenNews: Уязвимости в VLC и GStreamer, способные привести к выполнению кода при обработке контента
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60185-perl
Ключевые слова: perl, owncloud, gstreamer, zephyr, rtos
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (67) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Tron is Whistling (?), 14:29, 27/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > переменных окружения, которые могут содержать пароль администратора, лицензионный ключ и учётные данные для подключения к почтовому серверу

    И так тихонько докеры обошли в изложении...

     
  • 1.3, Tron is Whistling (?), 14:32, 27/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Вообще таскать чувствительную информацию в env могли придумать только смузихлёбы.
     
     
  • 2.4, Аноним (4), 14:38, 27/11/2023 Скрыто ботом-модератором
  • +11 +/
     
     
  • 3.5, Tron is Whistling (?), 14:42, 27/11/2023 Скрыто ботом-модератором
  • +/
     
  • 3.6, Tron is Whistling (?), 14:42, 27/11/2023 Скрыто ботом-модератором
  • +4 +/
     
     
  • 4.107, нах. (?), 18:04, 27/11/2023 Скрыто ботом-модератором
  • –1 +/
     
  • 3.113, Аноним (113), 18:26, 27/11/2023 Скрыто ботом-модератором
  • +1 +/
     
     
  • 4.116, твой анестезиолог (?), 18:58, 27/11/2023 Скрыто ботом-модератором
  • –2 +/
     
  • 2.12, Рычаг (?), 15:10, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну а по фактам-то есть что сказать? Или только как дедушка выругаться «пук-среньк, смузихлёбы»?
     
     
  • 3.13, Tron is Whistling (?), 15:12, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А по фактам - когда в ENV лежат ключи и пароль - это повод взять метлу таки.
     
     
  • 4.14, Рычаг (?), 15:19, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если лежат, то да, а если только передавать, то просто ещё один способ передать значение извне в программу. Прочитал, сделал unsetenv и ходи довольный.
     
     
  • 5.16, Рычаг (?), 15:27, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, наверно, если даже и лежат, то тоже ничего страшного. Вот раскрывать переменные окружения куда-то налево это косяк. Всё равно что файл с секретами катнуть в ответ на какой-нибудь запрос.
     
  • 5.27, all_glory_to_the_hypnotoad (ok), 16:41, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну да ... если бутерброд упал на пол и его успели поднять менее, чем за 5 сек, то считается чистым и можно жрать. Сделать unsetenv примерно как надеть на голову пакет и считать что ты спрятался от окружающих. ENV много где прикапывается, а unsetenv логическая операция, она не удаляет данные из памяти и другие копии ENV-ов. В общем случае корректно передавать секреты через пайпы, а не вот так.
     
     
  • 6.38, Рычаг (?), 17:15, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А что имеется в виду Что управление памятью слишком сложно, чтобы считать, что ... большой текст свёрнут, показать
     
     
  • 7.42, Рычаг (?), 17:18, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Если не отпочковывать новые процессы до setenv

    до UNsetenv, UNsetenv.

     
  • 6.135, Аноним (135), 22:47, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Сделать unsetenv примерно как надеть на голову пакет и считать что ты спрятался от окружающих.

    Примерно как сделать exec() после fork() и думать, что это дофига безопасно.

     
  • 6.143, Аноним (135), 23:14, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > В общем случае корректно передавать секреты через пайпы, а не вот так.

    А кто будет их в пайп оправлять? Админ лично? Или какая-то прога, которая возьмёт их из файла или окружения? (Ба-дум-тссс!)

     
  • 4.72, Аноним (72), 17:31, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А где ж они должны лежать, дорогой ты мой?
     
     
  • 5.104, Аноним (104), 18:02, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В коде, как принято)
     
     
  • 6.108, нах. (?), 18:05, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    в гитхабе и гитляпе, для надежности.

     
  • 6.110, Рычаг (?), 18:08, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только обязательно рядом комментарий оставить, что ты понимаешь, что так делать нельзя и вообще дико извиняешься, хех.
     
     
  • 7.141, Аноним (135), 23:06, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
        int getRandomNumber()
        {
          return 4; // chosen by fair dice roll
                    // guaranteed to be random
        }
     
  • 5.119, Tron is Whistling (?), 19:36, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Биндмаунты делать давно разучились?
    etcd тоже отменили?
    Ясно-понятно.
     
     
  • 6.120, Аноним (72), 19:51, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ох уж эти «ветераны» «системного» «администрирования». А в etcd ты как попадёшь? На доверии, с нужного айпишника, надеюсь? Или у тебя там один самоподписанный сертификат на все контейнеры со временем жизни в 10 лет? Ясно-понятно.

    > Биндмаунты

    КЛБ!

     
     
  • 7.138, Tron is Whistling (?), 23:04, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вы главное продолжайте хранить пароли в окружении, не стирая таковое до форка.
     
  • 7.140, Tron is Whistling (?), 23:06, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Что мешает тебе создать инстанс etcd, доступный только с конкретного контейнера?
     
     
  • 8.142, Аноним (135), 23:09, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Недостаточная степень юникс-ветеранства этот не вполне изящный термин был введе... текст свёрнут, показать
     
     
  • 9.144, Tron is Whistling (?), 23:23, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Поди ещё и вся аппликуха в коньтеноре от рута работает ... текст свёрнут, показать
     
  • 9.145, Tron is Whistling (?), 23:25, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но я уже на эту тему выше отписал Отметить NOTABUG и WONTFIX и закрыть Чужие к... текст свёрнут, показать
     
  • 9.147, Tron is Whistling (?), 23:37, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И вообще, способов передать волатильные параметры - 1000 1, но смузихлёбы как вс... текст свёрнут, показать
     
  • 8.160, Аноним (160), 13:45, 28/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как говорится, есть два стула На одном придуманная сорок лет назад юникс-дедами... текст свёрнут, показать
     
  • 7.148, Tron is Whistling (?), 23:38, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Поверь, если у тебя пароли и ключи лежат в ENV - даже один самоподписанный сертификат будет лучше.
     
  • 6.130, Рычаг (?), 21:19, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И этот человек ещё что-то про смузихлёбов говорил, хех
     
     
  • 7.139, Tron is Whistling (?), 23:05, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > И этот человек ещё что-то про смузихлёбов говорил, хех

    Да и перед exec можете новое окружение не создавать - всё нормально.

     
  • 7.146, Tron is Whistling (?), 23:26, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно, что этим господам мешало запустить внутри коньтенора сервис с очищенным от внешних параметров env?
     
     
  • 8.158, Аноним (135), 12:57, 28/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    То, что ему эти параметры НУЖНЫ ... текст свёрнут, показать
     
     
  • 9.167, Tron is Whistling (?), 21:06, 28/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А переложить параметры в файлы конфигурации до запуска религия не позволяет Или... текст свёрнут, показать
     
     
  • 10.168, Tron is Whistling (?), 21:06, 28/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    s волатильные сенситивные ... текст свёрнут, показать
     
  • 4.134, Аноним (135), 22:46, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А по фактам - когда в ENV лежат ключи и пароль - это повод взять метлу таки.

    Может, начать с того, что если приложение запускается - это уже повод взять метлу?

    (Потому что если оно запустилось, то в его памяти хоть что-то интересное, да найдётся)

     
     
  • 5.150, Tron is Whistling (?), 23:49, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И вот тут начинается замечательная проблема.
    Форкнул ты какой-нибудь ffmpeg для обработки. ENV туда благополучно унаследовался.
    Весь этот твой ключ от S3 (который часто один, что не лучше самоподписного сертификата) ему не нужен, и он его не использует.
    Но если там найдётся CVE с утечкой памяти процесса в результат - ну, ты понял.
     
  • 2.22, Liin (ok), 15:57, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да вобщем ничего страшного в использовании паролей в env нет, только если эту инфу не раскрывают наружу всем, кому ни попадя, как ребята с GetPhpInfo.php, который явно для дебага использовался и по какой-то причине был включен в прод. Хотя, конечно, лишнего в env тоже быть не должно. И если от пароля mysql там толку снаружи не будет, то от пароля админа - может пострадать админка. Разумно надо к этому подходить, взвешивать риски.
     
     
  • 3.114, Аноним (113), 18:28, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если у злоумышленника есть доступ в env то где бы ты не хранил ключи у него по любому уже есть доступ.
     
  • 3.151, Tron is Whistling (?), 23:51, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А кто сказал, что env может утечь только через phpinfo?
    Любая дыра с утечкой данных из памяти процесса во внешней 3rd-party тулзе - и привет.
    Это при том, что самому процессу твой env вообще может быть не нужен, но поскольку его не почистили - он туда и унаследовался.

    Мораль?
    Чистить env надо после принятия параметров, чистить.

     

     ....большая нить свёрнута, показать (41)

  • 1.7, Tron is Whistling (?), 14:44, 27/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лал, оказывается это мелкософт снова обломал все барбершопы.

    vendor/microsoft/microsoft-graph/tests/GetPhpInfo.php

     
  • 1.9, Анонин (?), 14:53, 27/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > запись за пределы выделенного буфера
    > Use-After-Free + переполнение буфера
    > и еще почти 25 переполнений буфера с RCE

    "C. C newer changes"

    Такое ощущение, что на Zephyr просто натравили какой-то анализатор и сразу попер высококачественный код лучших в мире погромистов.


     
     
  • 2.11, Anonist (?), 15:10, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    ChatGPT любой код превратит в божественный если правильно уметь задавать промпты.
     
  • 2.132, Аноним (72), 21:45, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > "C. C newer changes"

    А этот пацак всё время говорит на языках, продолжения которых не знает!

     
     
  • 3.136, Аноним (135), 22:49, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Он прав. The newer C gets, the more dangerous it becomes.
     
  • 3.155, bOOster (ok), 08:19, 28/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Абсолютно в тему :)
     

  • 1.10, Аноним (10), 14:57, 27/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    На сайте зефирки
    "A proven RTOS ecosystem, by developers, for developers" (про юзеров они ничего не говорят) )
    "strives to deliver the best-in-class RTOS"

    а на деле фиксы вида
    if (params->ssid_length > WIFI_SSID_MAX_LEN) {
    или ошибки Signed to unsigned conversion errors and buffer overflow
    но если одного буфера мало, можно переполнить два Two buffer overflow vulnerabilities in Zephyr USB code

    Итак дырявые WiFi стек, стек Bluetooth, USB-стек, файловой системе, очередной вайфай eS-WiFi и шина CANbus.
    Такое впечатление, что у них нет ни одной подсистемы без дыреней /_о

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

     
     
  • 2.111, 32 (?), 18:20, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > В общем типи-кал С

    Да когда вы уже создадите свой проц который будет питон чистый исполнять или яву, и свалите с этой планеты в свою нарнию

     
     
  • 3.115, Аноньимъ (ok), 18:50, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Явовскип так-то были.

    В си процы вообще довольно отвратительная штука. Они числа дробят быстро да. А код общего назначения у них черещ костыли работает.

    Интел конечно сильно старался десятки лет...

     
  • 3.118, Аноним (10), 19:22, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А не слишком это сложное решение, вместо того чтобы ПРОСТО проверять входные данные?
    Или вы считаете что дыряшечники настолько безнадежны, что проще свой проц запилить, чем этих необучаемых заставить?
     
  • 3.129, хамоним (?), 20:50, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Именно из-за Си шников которые любили использовать каки типа
    (*(struct foo *)NULL) = x
    ARM для Cortex-M прямо в железо вхардкодила поведение, что на это говоно кидается безусловный и немедленный HardFault
    Вот как приходится бороться с криворукостью убогих!

    Возможно еще через 5 лет придется добавлять обязательную неотключаемую проверку границ массива, прям в процессор.
    Ибо языку почти полтос, ядру больше 30ки, а уязвимости вида "шел сишник по массиву, взял и сделал out-of-bounds" живут и процветают до сих пор.

     

  • 1.15, Аноним (15), 15:22, 27/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Открывает сайтик Zephyr:

    > Build secure [..] devices with Zephyr®
    > Developed with security in mind.
    > Employs an in-depth security development lifecycle

    А в реальности:

    > 25 уязвимостей, большинство из которых потенциально могут привести к выполнению кода атакующего

    Понты дороже денег. Знаменитая сишечная секьюрность.


     
     
  • 2.20, Денис Попов (?), 15:34, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Понты дороже денег. Знаменитая сишечная секьюрность.

    Не бойся, остальные языки безопасные. А упоминание Perl в первом абзаце тебе примерещилось.

     
     
  • 3.21, Аноним (10), 15:46, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    "Уязвимость перла" почему-то находится в файле regcomp.c
    Запутались с индексах, с кем бывает.
     
     
  • 4.159, Серб (ok), 13:31, 28/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там не в индексах запутались, а в признаках типа кодировки.
     
     
  • 5.161, Аноним (135), 15:42, 28/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    UTF-8, с его переменным размером символа, требует некоторой возни с указателями.
     
     
  • 6.163, Серб (ok), 16:37, 28/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > UTF-8, с его переменным размером символа, требует некоторой возни с указателями.

    Еще раз. Там проблема с их собственными хаками работы с utf8.

    Когда в начале строки пишется признак того, что строка в utf8. Иногда дважды.

     

  • 1.131, YetAnotherOnanym (ok), 21:28, 27/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > злоумышленник может разместить свой cmd.exe в каталог C:\ProgramData и поднять свои привилегии, если администратор запустит Perl-скрипт из этого каталога

    Если админ запускает файлы из каталога с такими разрешениями, то специфичная для перла последовательность поиска исполняемых файлов как-то уже мало на что влияет.

     
     
  • 2.133, Аноним (72), 21:47, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Когда проломят череп, лишая тебя кошелька и мобилы ты знай — это не преступники плохие, просто ты ходил не там и не в то время.
     
     
  • 3.137, Аноним (135), 22:51, 27/11/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ну, если ты пришёл ночью в фавелы, то дальнейшая последовательность действий действительно ни на что не влияет :)
     

  • 1.149, Аноним (149), 23:43, 27/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот и прекрасно, обнаружили - пофиксили, теперь ПО на божественной Сишечке стало только лучше. Не бывает багов только у тех языков, на которых ничего не пишут ))
     
     
  • 2.162, Аноним (135), 16:07, 28/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > ПО на божественной Сишечке стало только лучше

    Дыры его только украшают :)

     

  • 1.157, Аноним (157), 12:13, 28/11/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Уязвимости в Perl

    Помнится мне, что раньше на конференциях, в докладах, посвящённых уязвимостям в самом языке Perl, докладчик любил вставлять слайд, на котором было написано:
    PERL IS DEAD, DON'T USE PERL.

     
     
  • 2.166, ыы (?), 20:17, 28/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    и где этот докладчик теперь? а perl жив :)
     

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



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

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