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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/karlemilnikka/cve-2024-1209
Анализ уязвимостейСбор информацииВеб-безопасностьСтатьи и ИсследованияОбучение и ОбразованиеБезопасность API
GitHubkarlemilnikka/cve-2024-1209

CVE-2024-1209

Раскрытие конфиденциальной информации через задания в LearnDash.

Репозиторий
242 лет назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2024-1209

Раскрытие конфиденциальной информации через задания в LearnDash. Неаутентифицированные посетители могут просматривать и скачивать загруженные задания.

  • Уязвимость: CVE-2024-1209 Раскрытие конфиденциальной информации через задания
  • CVSS: 5.3 (Средний)
  • Программное обеспечение: LearnDash (sfwd-lms)
  • Затронутые версии: <= 4.10.1
  • Исправленная версия: 4.10.2 (частично), 4.10.3 (полностью)
  • Разработчик: LearnDash
  • Исследователь: Karl Emil Nikka, Nikka Systems
  • Опубликовано публично: 2024-02-05
  • Последнее обновление: 2024-02-05

Обзор

Любой, включая неаутентифицированных посетителей, может увидеть все загруженные задания LearnDash. Поскольку задания общедоступны, любой, кто знает об этой уязвимости, может прочитать загруженные документы (что может привести к инцидентам, связанным с GDPR). Уязвимость может быть использована без наличия учётной записи на сайте.

Исходная информация

LearnDash — это плагин системы управления обучением для WordPress.

Затронутые версии LearnDash (<=4.10.1) хранят загруженные файлы заданий в папках без защиты доступа. Когда пользователь загружает файл задания, LearnDash помещает его в /wp-content/uploads/assignments/. Файл сохраняет своё исходное имя, хотя ему добавляется префикс с ID записи, с которой он был загружен, и временной меткой Unix.

LearnDash имеет три REST API: /wp/v2/, /ldlms/v1/ и /ldlms/v2/ (в настоящее время в бета-версии). Все API, включая бета-версию, включены по умолчанию. API /ldlms/v1/ и /ldlms/v2/ можно отключить для определённых типов записей с помощью фильтра learndash_rest_api_enabled (см. class-ld-rest-api.php).

Уязвимость

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

LearnDash добавляет временную метку к имени каждого загруженного файла, чтобы усложнить его угадывание, но временные метки можно подобрать перебором. К сожалению, неаутентифицированному посетителю, желающему прочитать загруженные задания, даже не нужно перебирать имена файлов. Затронутые версии LearnDash (<=4.10.1) публикуют все отправленные задания для неаутентифицированных посетителей через REST API. Всё, что нужно сделать посетителю — вызвать конечную точку для sfwd-assignment через REST API /wp/v2/. Ответ содержит пути к загруженным файлам, и посетитель может скачать их без входа в систему.

root@kitploit:~
https://example.com/wp-json/wp/v2/sfwd-assignment

Исправления

LearnDash 4.10.2 был выпущен 2024-01-08. Он решил проблему утечки путей к файлам заданий через REST API. CVE-2024-1208 и CVE-2024-1210 остались.

LearnDash 4.10.3 был выпущен 2024-01-31. Он переместил место хранения файлов в защищённую папку и ввёл динамические ссылки для загрузки, чтобы запретить несанкционированный доступ.

Хронология

  • 2023-12-25 Я сообщил о CVE-2024-1208, CVE-2024-1209 и CVE-2024-1210 в службу поддержки LearnDash (согласно 90-дневной политике ответственного раскрытия Project Zero). Я включил все три уязвимости в один отчёт. Позже уязвимости были разделены, и Wordfence присвоил им три разных идентификатора CVE.
  • 2023-12-25 Я отправил уязвимость в CNA Wordfence. Я отказался от участия в их программе вознаграждений за обнаружение ошибок.
  • 2023-12-27 Служба поддержки LearnDash ответила и подтвердила, что передала отчёт разработчикам.
  • 2024-01-03 LearnDash подтвердила уязвимость.
  • 2024-01-04 LearnDash связалась со мной, чтобы сообщить, что они приоритезируют исправление уязвимости заданий.
  • 2024-01-08 LearnDash выпустила LearnDash 4.10.2, частично устранив CVE-2024-1209, перестав раскрывать все загруженные задания через REST API. CVE-2024-1208 и CVE-2024-1210 остались.
  • 2024-01-31 LearnDash выпустила LearnDash 4.10.3, успешно устранив оставшиеся части всех трёх уязвимостей.
  • 2024-02-02 Wordfence добавила уязвимость в базу данных CVE.
  • 2024-02-05 Я опубликовал этот отчёт.

LearnDash хорошо отреагировала на отчёт об уязвимости и устранила её в течение 90-дневного окна ответственного раскрытия.

Скачать инструмент