Плагин Groundhogg — CRM, Newsletters и Marketing Automation для WordPress уязвим к небезопасной прямой ссылке на объект во всех версиях до 4.5.2 включительно через конечную точку GET /wp-json/gh/v4/contacts/<id> REST. Обратный вызов разрешения конечной точки проверяет только возможность view_contacts на уровне роли, а read_single() возвращает полную запись контакта по последовательному целочисленному идентификатору без проверки владения view_contact на уровне объекта, применяемой где-либо в кодовой базе. Это позволяет аутентифицированным злоумышленникам, имеющим view_contacts, но не view_others_contacts — в частности, встроенную роль торгового представителя Groundhogg, предназначенную для просмотра только своих собственных контактов — читать любую запись контакта на сайте, включая PII, мета-контакты, идентификаторы владельцев, URL-адрес редактирования администратора и (для контактов, связанных с пользователем WordPress) полный набор возможностей этого пользователя.
Показать оригинальное описание (EN)
The Groundhogg — CRM, Newsletters, and Marketing Automation plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 4.5.2 via the GET /wp-json/gh/v4/contacts/<id> REST endpoint. The endpoint's permission callback checks only the role-level view_contacts capability and read_single() returns the full contact record by sequential integer ID without the object-level view_contact ownership check applied elsewhere in the codebase. This makes it possible for authenticated attackers holding view_contacts but not view_others_contacts — notably Groundhogg's built-in Sales Rep role, designed to see only its own contacts — to read any contact record on the site, including PII, contact meta, owner IDs, the admin edit URL, and (for contacts linked to a WordPress user) that user's full capability set.
Характеристики атаки
Последствия
Строка CVSS v3.1