Emlog — это система создания веб-сайтов с открытым исходным кодом. В версии 2.6.26 и более ранних версиях отсутствие защиты CSRF в действии AI Assistantexecute_tool в admin/ai.php позволяет удаленному неаутентифицированному злоумышленнику отправить поддельный межсайтовый запрос со страницы, контролируемой злоумышленником, недавно вошедшему в систему администратору. Файл cookie аутентификации, установленный в include/lib/loginauth.php, не имеет явного атрибута SameSite, что позволяет Chrome использовать временное окно отсрочки Lax+POST.
Случай query_database передает контролируемые злоумышленником значения SQL и Confirm_code в Ai::queryDatabase в include/service/ai.php; Запросы на чтение не требуют подтверждения, запросы на запись принимают общедоступную строку подтверждения, только таблица блога защищена от записи, а псевдоним пароля, поскольку pwd_hash обходит редактирование вывода. Успешный запрос может прочитать каждую таблицу базы данных и записать каждую таблицу, кроме блога, включая изменение таблицы пользователя, чтобы взять на себя учетную запись администратора. На момент этого обзора фиксированная версия недоступна.
Показать оригинальное описание (EN)
Emlog is an open source website building system. In 2.6.26 and earlier, missing CSRF protection on the AI Assistant execute_tool action in admin/ai.php lets a remote unauthenticated attacker submit a forged cross-site request from an attacker-controlled page to a recently logged-in administrator. The authentication cookie set in include/lib/loginauth.php has no explicit SameSite attribute, enabling Chrome's temporary Lax+POST grace window. The query_database case passes attacker-controlled sql and confirm_code values to Ai::queryDatabase in include/service/ai.php; read queries need no confirmation, write queries accept the public confirm string, only the blog table is write-protected, and aliasing password as pwd_hash bypasses output redaction. A successful request can read every database table and write every table except blog, including changing the user table to take over an administrator account. No fixed version is available as of this review.
Характеристики атаки
Последствия
Строка CVSS v3.1