Плагин GetGenie для WordPress уязвим к небезопасной прямой ссылке на объект во всех версиях до 4.3.2 включительно. Это связано с отсутствием проверки параметра `id` в методе `create()` конечной точки REST API `GetGenieChat`. Метод принимает идентификатор сообщения, контролируемый пользователем, и, когда сообщение с этим идентификатором существует, вызывает `wp_update_post()` без проверки того, что сообщение принадлежит текущему пользователю или что сообщение имеет ожидаемый тип `getgenie_chat`.
Это позволяет аутентифицированным злоумышленникам с уровнем доступа «Автор» и выше перезаписывать произвольные сообщения, принадлежащие любому пользователю, включая администраторов, эффективно уничтожая исходный контент, изменяя его «post_type» на «getgenie_chat» и переназначая «post_author» злоумышленнику.
Показать оригинальное описание (EN)
The GetGenie plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 4.3.2. This is due to missing validation on the `id` parameter in the `create()` method of the `GetGenieChat` REST API endpoint. The method accepts a user-controlled post ID and, when a post with that ID exists, calls `wp_update_post()` without verifying that the current user owns the post or that the post is of the expected `getgenie_chat` type. This makes it possible for authenticated attackers, with Author-level access and above, to overwrite arbitrary posts owned by any user — including Administrators — effectively destroying the original content by changing its `post_type` to `getgenie_chat` and reassigning `post_author` to the attacker.
Характеристики атаки
Последствия
Строка CVSS v3.1