Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-56799 — Уязвимость внедрения команд ОС через планировщик очистки кэша в настольном приложении Reolink | Kitploit
Инструменты/GitHubGitHub/shinycolumn/cve-2025-56799
Механизмы персистентностиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийАнализ вредоносных программЭксплуатация Бинарных Файлов
GitHubshinycolumn/cve-2025-56799

CVE-2025-56799

Уязвимость внедрения команд ОС через планировщик очистки кэша в настольном приложении Reolink

Репозиторий
110 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-56799

Уязвимость внедрения OS-команд через планировщик очистки кэша в настольном приложении Reolink

1. Обзор

Reolink Icon
  • Название: Настольное приложение Reolink
  • Версия: 8.18.12
  • Производитель: Reolink
  • CWE: CWE-78: Некорректная нейтрализация специальных элементов, используемых в OS-команде ('Внедрение OS-команды')
  • CVSS: 6.5 MEDIUM
  • Векторная строка: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

2. Краткое описание

Настольное приложение Reolink (версия 8.18.12) содержит уязвимость внедрения OS-команд в функции планировщика очистки кэша (coverCacheClearScheduler). Приложение формирует команду OS-оболочки, используя путь к временной папке, считываемый из файла конфигурации, расположенного в . Поскольку это значение пути не проходит надлежащую санитизацию входных данных, злоумышленник может манипулировать им для внедрения произвольных OS-команд.

%LOCALAPPDATA%

Эта уязвимость срабатывает через планировщик, который автоматически запускается каждый день в 3:00 утра, что обеспечивает злоумышленнику постоянство присутствия в системе. Кроме того, внедрённая команда выполняется как часть легитимного, цифрово подписанного процесса Reolink.exe, что обеспечивает скрытность, позволяя обходить средства защиты.

3. Подробности

Приложение инициализирует планировщик для запуска каждый день в 3:00 утра:

root@kitploit:~
{
  key: "clearCoverCacheRegularly",
  value: function () {
    if (this.coverCacheClearScheduler) {
      var e = new Date(),
        t = new Date(
          e.getFullYear(),
          e.getMonth(),
          e.getDate(),
          3,
          0,
          0,
        ).getTime();
      (e.getTime() > t &&
        (t = new Date(
          e.getFullYear(),
          e.getMonth(),
          e.getDate() + 1,
          3,
          0,
          0,
        ).getTime()),
        this.coverCacheClearScheduler.add({
	          id: this.clearCoverCacheTaskId,
          name: "clearCoverCache",
          unit: r.ETaskUnit.DAY,
          interval: 1,
          args: !1,
          execute: this.removeCoverCacheDir,
          nextTime: t,
          isInExact: !0,
        }),
        this.coverCacheClearScheduler.start());
    }
  },
}

Функция, выполняемая планировщиком, формирует строку команды оболочки, используя следующую логику:

root@kitploit:~
p(
  "darwin" === process.platform
    ? "rm -rf ".concat(t)
    : "rd /s /q ".concat(t),
  function (t) {
  //...

В Windows результирующая команда выглядит так:

root@kitploit:~
rd /s /q %LOCALAPPDATA%\Temp\reolink\<TEMP_FOLDER>\playback-covers

В macOS результирующая команда выглядит так:

root@kitploit:~
rm -rf ~/Library/Caches/reolink/<TEMP_FOLDER>/playback-covers

Поскольку <TEMP_FOLDER> не проходит надлежащую санитизацию, злоумышленник может внедрить дополнительные команды путём манипуляции именем папки, что приводит к выполнению команд:

root@kitploit:~
rd /s /q %LOCALAPPDATA%\Temp\reolink\& <COMMAND> &\playback-covers
root@kitploit:~
rm -rf ~/Library/Caches/reolink/& <COMMAND>; echo /playback-covers

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

Хотя первоначальный запуск относительно сложен, атака очень эффективна после успешного выполнения, поскольку обеспечивает постоянство присутствия за счёт автоматического повторного выполнения полезной нагрузки каждые 3:00 утра. Это постоянство дополнительно усиливается тем фактом, что приложение является инструментом физической безопасности и часто работает круглосуточно. Оно также поддерживает функцию «запуск при загрузке», что гарантирует переживание полезной нагрузкой перезагрузок системы.

Кроме того, злоумышленник получает значительную скрытность. Команда выполняется как часть доверенного, цифрово подписанного процесса Reolink.exe, что делает её очень эффективной для обхода EDR и решений по белому списку приложений. Это классическая техника Living Off the Land (LOTL).

4. Доказательство концепции (PoC)

Атака может быть выполнена путём запуска poc.py, который модифицирует локальный файл конфигурации. Это становится возможным благодаря объединению других уязвимостей, связанных с недостаточным шифрованием (CVE-2025-56801 и CVE-2025-56802), которые используются для расшифровки и повторного шифрования файла конфигурации.

В обычных условиях полезная нагрузка сработала бы только в 3:00 утра. Однако, поскольку приложение не использует упаковку ASAR, код может быть пропатчен для немедленного срабатывания уязвимости в демонстрационных целях.

Результат выполнения выглядит следующим образом:

https://github.com/user-attachments/assets/44bf4d84-b8bf-4f4a-853c-07380ce26783

Для получения дополнительных сведений обратитесь к CVE-2025-56801 — уязвимость генерации IV в AES-CFB, и CVE-2025-56802 — уязвимость генерации и управления ключами AES-CFB.

5. Рекомендации

Чтобы фундаментально устранить эту уязвимость внедрения OS-команд, необходимо избегать прямого включения значений, считываемых из ненадёжных внешних источников, таких как пользовательские файлы конфигурации, в строки команд OS-оболочки. Рекомендуемое решение — заменить использование команд оболочки, таких как rd или rm, на нативные API, которые обрабатывают путь как чистые данные, а не как команду, например fs.rm() в Node.js. Этот метод полностью устраняет данный класс уязвимостей.

Если формирование команды оболочки абсолютно неизбежно, необходимо реализовать защитную логику для строгой проверки и либо санитизации, либо экранирования всех специальных символов, которые могут вызвать внедрение команд, таких как &, | и ;.

6. Ссылки

  • https://www.cve.org/CVERecord?id=CVE-2025-56799
  • https://nvd.nist.gov/vuln/detail/CVE-2025-56799
  • https://github.com/shinyColumn/CVE-2025-56801
  • https://github.com/shinyColumn/CVE-2025-56802
Скачать инструмент