django CMS — это простая в использовании и удобная для разработчиков система управления корпоративным контентом на базе Django. До версии 5.0.9 render_object_structure не может авторизовать объекты, не являющиеся PageContent, которые используют PlaceholderRelationField. Активный штатный пользователь без разрешения cms.use_structure или просмотра или изменения на уровне модели может запросить конечную точку //admin/cms/placeholder/object/<content_type_id>/structure/<object_id>/ с предполагаемыми значениями content_type_id и object_id.
В ответе раскрываются имена слотов-заполнителей, деревья плагинов, идентификаторы плагинов, метки и существование объектов для объектов, редактируемых внешним интерфейсом. Исправление применяет user_can_view_placeholder_source к ветке, отличной от PageContent, сохраняя при этом структурную доску доступной только для чтения для пользователей с правами только на просмотр. Эта проблема исправлена в версиях 5.0.9.
Показать оригинальное описание (EN)
django CMS is an easy-to-use and developer-friendly enterprise content management system powered by Django. Prior to 5.0.9, render_object_structure fails to authorize non-PageContent objects that use PlaceholderRelationField. An active staff user without cms.use_structure or model-level view or change permission can request the //admin/cms/placeholder/object/<content_type_id>/structure/<object_id>/ endpoint with guessed content_type_id and object_id values. The response discloses placeholder slot names, plugin trees, plugin identifiers, labels, and object existence for frontend-editable objects. The fix applies user_can_view_placeholder_source to the non-PageContent branch while keeping the structure board read-only for view-only users. This issue is fixed in versions 5.0.9.
Характеристики атаки
Последствия
Строка CVSS v3.1