CVE-2022-26138
Atlassian Confluence
2022-07-29
Atlassian Questions For Confluence App has hard-coded credentials, exposing the username and password in plaintext. A remote unauthenticated attacker can use these credentials to log into Confluence and access all content accessible to users in the confluence-users group.
Технический анализ и план устранения
Суть уязвимости
CVE-2022-26138 представляет собой критическую уязвимость, связанную с использованием жестко закодированных учетных данных (hard-coded credentials) в приложении Questions for Confluence.
При установке версий приложения 2.7.30, 2.7.31 или 3.0.2 в системе Confluence Server или Data Center создается локальная учетная запись с именем пользователя disabledsystemuser и фиксированным паролем. Злоумышленник, зная эти данные, может удаленно авторизоваться в системе без предварительной аутентификации. После входа атакующий получает права группы confluence-users, что позволяет просматривать и редактировать весь контент, доступный обычным пользователям.
Как исправить
Основным способом устранения является обновление приложения Questions for Confluence до безопасной версии.
- Перейдите в раздел Administration > Manage apps.
- Найдите в списке Questions for Confluence.
- Обновите приложение до одной из следующих версий (или выше):
- 2.7.34 (совместима с Confluence 6.13.18+)
- 3.0.5 (совместима с Confluence 7.16.3+)
После обновления учетная запись disabledsystemuser не будет создаваться автоматически. Однако, если уязвимая версия уже была установлена, обновление не удаляет скомпрометированную учетную запись автоматически.
- После обновления проверьте наличие пользователя
disabledsystemuserв разделе User Management. - Если пользователь существует, удалите его вручную через интерфейс администрирования.
Временные меры
Если немедленное обновление приложения невозможно, необходимо выполнить следующие действия для нейтрализации угрозы:
- Проверьте наличие учетной записи
disabledsystemuserв вашей системе. - Если учетная запись найдена, удалите её. Если удаление невозможно (например, из-за синхронизации с внешним каталогом), деактивируйте её.
- Если вы используете внешние каталоги пользователей (LDAP/Active Directory) с правами на запись, убедитесь, что учетная запись не была создана там.
Для проверки наличия пользователя через API можно использовать следующую команду (замените URL и данные администратора):
curl -u admin:password -X GET "https://confluence.example.com/rest/api/user?username=disabledsystemuser"
Для удаления пользователя через API:
curl -u admin:password -X DELETE "https://confluence.example.com/rest/api/user?username=disabledsystemuser"