intranet 26.1900.0 Безопасность

Intranet 26.1775.0–26.1900.0: белый список SharePoint и лимит повторных приглашений

5 мин чтения Устаревших API: 1
Узнавайте о ломающих изменениях Битрикса раньше, чем они доедут до прода: свежие разборы — в канале @bxmax_updates

Обновление безопасности

Закрыта уязвимость или ослабленная проверка прав. Ставить в первую очередь.

Intranet 26.1775.0 и 26.1900.0 меняют приглашения в коллабы и исходящие запросы к SharePoint. Для синхронизации теперь нужен белый список серверов, а повторные письма ограничены интервалом. В портале появились страницы офисов и публичной базы знаний; разработчикам доступны команды перевода сотрудников в интранет и провайдер отсутствий.

Новое

Переводите сотрудника в интранет через публичную команду

В 26.1900.0 профиль использует Bitrix\Intranet\Public\Command\User\TransferToIntranetCommand(User $user, DepartmentCollection $departments). Команда меняет группы и отделы пользователя, при ошибке откатывает изменения. Старый код профиля опирался на зашитые ID групп 11 и 13, которые на другой коробке могли означать другие группы.

В своём сценарии перевода можно использовать эту команду вместо повторения логики профиля. Отделы должны существовать в точности; ошибка назначения в AJAX профиля имеет код INTRANET_USER_PROFILE_DEPARTMENT_ASSIGN_ERROR.

Получайте отпуска и отсутствия для своего интерфейса

Новый Public\Provider\User\AbsenceProvider из 26.1900.0 возвращает активный отпуск через getActiveVacation(int, DateTime), отсутствия сотрудников за день через getUsersAbsencesByDay(array, ?Date) и блокирующие отсутствия за период через getUsersBlockingAbsences(array, DateTime, ?DateTime). Для результата активного отпуска есть DTO ActiveVacation и ActiveVacationResult с состояниями trusted/untrusted, для пакетной проверки — BlockingAbsenceBatchResult.

Такой провайдер можно подключить к своей форме выбора сотрудника или отчёту. Для дневной выборки передайте список ID и дату, для проверки периода — начало и необязательный конец интервала.

Откройте новые страницы портала

В 26.1900.0 добавлен маршрут /pub/note/{token} для базы знаний по внешней ссылке. На /sync/ появилась вкладка «Звонки». Страница /stafftrack/offices/, карточка офиса в профиле и плитка в виджете приглашений используют новые офисы из stafftrack 26.400.0–26.500.0. Их доступность зависит от настроек и флага офисов в stafftrack.

Для нового выбора главного инструмента в левом меню есть AJAX-действия MainTool.getState, apply, confirmInitialShow. Этот интерфейс скрыт за Internal\MainTool\MainToolPickerRedesignFlag, по умолчанию выключенным.

В регистрации при занятом email теперь показывается ссылка на вход. Ряд действий OTP получил необязательный signedUserId для продолжения входа с обязательной двухфакторной авторизацией. У смены email/телефона и отправки кодов также добавлен необязательный flowId; у completeSkipDeviceConnect и cancelSkipDeviceConnect он по-прежнему обязателен.

Что сломается

Добавьте SharePoint в белый список

В 26.1900.0 проверки списка стоят при проверке сервиса, постановке следующей синхронизации и сохранении связи. Пустой список запрещает все серверы. Администратор заполняет его на новой вкладке SharePoint в настройках intranet; запрещённый сервер даёт SP_ERROR_SERVER_NOT_ALLOWED.

Существующие связи не заполняют список в коде этого снимка. После обновления синхронизация таких связей пропускается, пока администратор не добавит origin сервера. Список хранит нормализованные схему, хост и порт; URL с userinfo (user:pass@host) отклоняется. Проверка закрывает исходящие запросы на произвольный SP_URL.

Соблюдайте интервал повторных приглашений

В 26.1900.0 email-приглашение на один адрес можно отправить раз в intranet:invite_resend_timeout секунд. Значение по умолчанию — 3600. CIntranetInviteDialog при срабатывании лимита возвращает false, это касается и повторной отправки. У SMS-реинвайта появилась ошибка ERROR_TIMEOUT_NOT_EXCEEDED. Свой интерфейс должен показать отказ, если приглашение ещё нельзя повторить.

С 26.1775.0 ссылка в коллабу на коробке, где не подключается extranet, ведёт на /?login=yes вместо регистрации. CollabInvitationLinkFacade на всех входах проверяет модуль и бросает AccessDeniedException; уже авторизованный пользователь тоже не добавляется в коллабу в обход этой проверки.

Проверьте старые формы и собственные настройки меню

Из старых компонентов intranet.mail.config.home и intranet.mail.setup в 26.1900.0 убраны UI интеграции ящика с CRM и AJAX-действия disablecrm, enablecrm, configcrm. Если ваша копия формы вызывает их, эти вызовы нужно убрать.

Удалён класс Bitrix\Intranet\Config\Feature\CollaborationWebMenuFlag. Код перенесён в пространство Internal; внешние ссылки на прежнее имя больше не работают. Это касается и кода, который передавал старое имя класса в Main\Config\Feature.

Смена темы группы теперь требует права изменять группу. Старый селектор intranet.user.selector.new фильтрует сотрудников и отделы по видимости в HR-структуре; нечисловой SECTION_ID возвращает пустой ответ. Если своя форма опиралась на более широкую выборку, после обновления состав списка сократится.

БД

Белый список SharePoint хранится в новой b_intranet_sharepoint_allowed_origin с полями ID и ORIGIN varchar(512). Из PHP для списка доступны Integration\Sharepoint\ServerAllowList::list(), replace() и isAllowed(); для своей административной формы используйте их вместо прямой записи ненормализованных URL в таблицу.

Устаревшие и удалённые API в этой версии

Символ Статус Чем заменять
Bitrix\Intranet\Config\Feature\CollaborationWebMenuFlag Удалено —

Новая версия вышла — разбор уже в Telegram

В канале @bxmax_updates публикуем каждый свежий разбор: что сломается, что устарело и что появилось в API. Узнаете до того, как обновите прод.

Подписаться

Читайте дальше

intranet 26.1750.0 Безопасность Свежее

Intranet 26.1750.0: приглашения в коллабы проверяются по каждому условию, отказы получили коды COLLAB_INVITE_*

Intranet 26.1750.0 вышел для коробочного Битрикс24 (в БУС этого модуля нет) вместе с [im 26.1150.0](/bitrix-updates/im/im-26-1150-0) и [socialnetwork 26.275.0](/bitrix-updates/socialnetwork/socialnetwork-26-275-0), во всех трёх есть правки коллаб. Префильтр приглашений в коллабу из-за `&&` в условии…

4 мин
intranet 26.1700.0 Безопасность Свежее

Intranet 26.1400.0–26.1700.0: закрыты дыры в приглашениях и чатах групп, удалены intranet.backup и intranet.configs

В коробочный Битрикс24 подряд вышли пять версий intranet: 26.1400.0, 26.1475.0, 26.1500.0, 26.1600.0 и 26.1700.0. Администратору стоит обновиться ради безопасности: закрыты подстановка кода в строки агентов, доступ к чужим чатам рабочих групп, приглашение в чужие отделы и обход проверки прав в `shar…

1 мин
tasks 26.800.0 Ломающее Свежее

Tasks 26.700.0–26.800.0: роботы с проверкой прав, чек-листы и новая длительность в REST

Tasks 26.700.0, 26.750.0 и 26.800.0 добавляют сортировку канбана, несколько чек-листов в действии создания задачи и робот «Добавить результат». Интеграциям потребуется проверить плановую длительность в REST, собственные действия БП и обработчики скрама. Роботы теперь проверяют права автора, а REST о…

5 мин
stafftrack 26.500.0 Ломающее Свежее

Stafftrack 26.400.0–26.500.0: офисы с геозонами и новые правила приёма чекинов

В Stafftrack 26.400.0 и 26.500.0 появился справочник офисов с геозонами, фотографиями и сигналами присутствия сотрудников. Одновременно изменились правила приёма точек маршрута и исчезли два публичных сервисных класса. Интеграциям, которые отправляют накопленные чекины или вызывают эти сервисы, потр…

4 мин
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…

Можно закрыть чат и перейти на другую страницу. Когда ответ будет готов, на кнопке Домового появится отметка.

Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти