Критическая уязвимость Jenkins подвергает серверы RCE-атакам - исправьте КАК МОЖНО СКОРЕЕ!

Brother

Professional
Messages
2,565
Reputation
3
Reaction score
362
Points
83
Разработчики программного обеспечения для автоматизации непрерывной интеграции / непрерывной доставки и развертывания с открытым исходным кодом (CI / CD) Jenkins устранили девять недостатков безопасности, включая критическую ошибку, которая при успешном использовании может привести к удаленному выполнению кода (RCE).

Проблема, которой присвоен идентификатор CVE CVE-2024-23897, была описана как уязвимость при произвольном чтении файла через встроенный интерфейс командной строки (CLI)

"Jenkins использует библиотеку args4j для анализа аргументов и опций команд на контроллере Jenkins при обработке команд CLI", - сказали разработчики в среду.

"Этот анализатор команд имеет функцию, которая заменяет символ @, за которым следует путь к файлу в аргументе, содержимым файла (expandAtFiles). Эта функция включена по умолчанию, и Jenkins 2.441 и более ранние версии, LTS 2.426.2 и более ранние версии ее не отключают."

Субъект угрозы может воспользоваться этой особенностью для чтения произвольных файлов в файловой системе контроллера Jenkins, используя кодировку символов по умолчанию процесса контроллера Jenkins.

В то время как злоумышленники с разрешением "Полный / Чтение" могут читать файлы целиком, те, у кого его нет, могут прочитать первые три строки файлов в зависимости от команд командной строки.

Кроме того, недостаток может быть использован для чтения двоичных файлов, содержащих криптографические ключи, хотя и с определенными ограничениями. По словам Дженкинса, при условии, что двоичные секреты могут быть извлечены, это может открыть дверь для различных атак. -
  • Удаленное выполнение кода через корневые URL ресурсов
  • Удаленное выполнение кода через файл cookie "Запомнить меня"
  • Удаленное выполнение кода с помощью хранимых межсайтовых скриптов (XSS), атаки через журналы сборки
  • Удаленное выполнение кода через обход защиты CSRF
  • Расшифруйте секреты, хранящиеся в Jenkins
  • Удалите любой элемент в Jenkins
  • Загрузите дамп Java heap
"Хотя файлы, содержащие двоичные данные, могут быть прочитаны, уязвимая функция пытается прочитать их как строки, используя кодировку символов процесса контроллера по умолчанию", - сказал Дженкинс.

"Это, вероятно, приведет к тому, что некоторые байты не будут успешно прочитаны и будут заменены значением-заполнителем. Какие байты могут или не могут быть прочитаны, зависит от данной кодировки символов ".

Исследователю безопасности Яниву Низри приписывают обнаружение и сообщение об ошибке, которая была исправлена в Jenkins 2.442, LTS 2.426.3 путем отключения функции синтаксического анализа команд.

В качестве краткосрочного решения проблемы, пока исправление не будет применено, рекомендуется отключить доступ к командной строке.

Разработка началась почти через год после того, как Дженкинс устранил пару серьезных уязвимостей в системе безопасности, получивших название CorePlague (CVE-2023-27898 и CVE-2023-27905), которые могли привести к выполнению кода в целевых системах.
 
Top