Найдена уязвимость удаленного выполнения кода в CouchDB

Найдена уязвимость удаленного выполнения кода в CouchDB

Найдена уязвимость удаленного выполнения кода в CouchDB

В CouchDB была обнаружена уязвимость, вызванная несоответствием между собственным парсером JSON и JSON-парсером Javascript, используемым во время проверки документа. Поскольку базы данных CouchDB открыты для доступа через интернет, эта брешь может поспособствовать эскалации привилегий и удаленному выполнению кода на большом количестве установок.

CouchDB написана на языке Erlang, но позволяет указывать сценарии проверки документов в Javascript. Эти сценарии автоматически оцениваются при создании или обновлении документа. CouchDB управляет учетными записями пользователей через специальную базу данных — _users.

Когда вы создаете или изменяете пользователя в базе данных CouchDB, сервер проверяет изменение с помощью функции Javascript validate_doc_update, чтобы удостовериться, что это не попытка сделать себя администратором, например.

«Проблема в том, что существует расхождение между JSON-парсером Javascript (используемым в скриптах проверки) и тем, что используется внутри CouchDB, называемым jiffy», — пишет эксперт, обнаруживший брешь.

Далее специалист привод куски кода для демонстрации этой разницы:

Erlang:

> jiffy:decode("{\"foo\":\"bar\", \"foo\":\"baz\"}"). 
{[{<<"foo">>,<<"bar">>},{<<"foo">>,<<"baz">>}]}

Javascript:

> JSON.parse("{\"foo\":\"bar\", \"foo\": \"baz\"}")
{foo: "baz"}

Для данного ключа парсер Erlang сохранит оба значения, а вот Javascript-парсер сохранит только последнее, что позволит обойти все соответствующие проверки ввода и создать пользователя с правами администратора.

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

Windows 11 наконец перестанет навязывать обновления при выключении ПК

Microsoft тестирует долгожданное изменение в Windows 11: система больше не будет принудительно устанавливать ожидающие обновления, если пользователь выбрал обычное «Завершение работы» или «Перезагрузку».

Раньше всё работало не так очевидно. Даже если нажать «Завершение работы» или «Перезагрузка», Windows могла начать установку важных обновлений, особенно если они уже какое-то время ожидали перезагрузки.

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

Теперь варианты в меню будут более адекватно разделены:

  • «Завершение работы»;
  • «Перезагрузка»;
  • «Обновить и завершить работу»;
  • «Обновить и перезагрузить».

 

Главное отличие в том, что первые два пункта теперь должны работать без установки обновлений.

По словам Microsoft, у разработчиков стояла задача сделать процесс более предсказуемым. Если человеку нужен быстрый перезапуск или выключение перед поездкой, система должна выполнить именно это действие.

Пока новшество тестируется в сборке Windows 11 Build 26300.8289 и доступно только участникам программы Windows Insider. Когда функция появится у всех пользователей, пока неизвестно.

При этом Microsoft уже исправила похожую проблему с кнопкой «Обновить и завершить работу». Раньше Windows могла после установки обновлений не выключить компьютер, а перезагрузить его. Исправление этой ошибки вышло в октябре 2025 года.

Кроме того, компания работает над более гибким управлением обновлениями. В тестовых версиях Windows 11 появилась возможность ставить обновления на паузу до 35 дней и выбирать дату в календаре.

RSS: Новости на портале Anti-Malware.ru