DebugKit предоставляет панель инструментов отладки для приложений CakePHP. До версий 4.10.3 и 5.2.4 функция DebugKit MailPreview в src/Controller/MailPreviewController.php принимает значение предварительного просмотра, управляемое маршрутом, в findPreview и передает разрешенный класс из App::className() на выполнение конструктора, не отклоняя разделители пространства имен и не проверяя, что класс расширяет DebugKit\Mailer\MailPreview. Злоумышленник, имеющий доступ к DebugKit, когда включен режим отладки и имя хоста запроса является локальным или находится в белом списке, может выбрать непредусмотренный класс приложения через маршрут предварительного просмотра почты, что приведет к произвольному выполнению конструктора и ограниченному раскрытию информации о приложении.
Эта проблема исправлена в версиях 4.10.3 и 5.2.4.
Показать оригинальное описание (EN)
DebugKit provides a debugging toolbar for CakePHP applications. Prior to 4.10.3 and 5.2.4, the DebugKit MailPreview feature in src/Controller/MailPreviewController.php accepts a route-controlled previewName value in findPreview and passes the resolved class from App::className() to constructor execution without rejecting namespace separators or verifying that the class extends DebugKit\Mailer\MailPreview. An attacker able to access DebugKit while debug mode is enabled and the request hostname is local or allowlisted can select an unintended application class through the mail-preview preview route, resulting in arbitrary constructor execution and limited disclosure of application information. This issue is fixed in versions 4.10.3 and 5.2.4.
Характеристики атаки
Последствия
Строка CVSS v3.1